통계 위젯 (화이트)

752
260
2203027

저작권

모든 내용은 허락없이 상업적으로 사용하실 수 없습니다. - 오광섭 -

클릭몬 (와이드)





Delphi와 Visual C++.. ▣ 컴터야그 ▣

Delphi와 Visual C++은 내가 사용해본 대표적인 개발툴인데.. 아마도 다른 사람들도 비슷한 사람들이 좀 있을 것이다.. 모르겠다, 요즘엔 Delphi를 사용하는 개발자들이 그렇게 많은 것 같지는 않아서.. 하긴 나도 Delphi를 사용해보지 않은지가 5년이 넘은 것 같다.. 아마, 요즘 다시 사용하라고 하면 학습이 꽤 필요하지 않을까 하는 생각도 든다..

델파이정복
Delphi 공부를 하면서 본 책인데, 내가 공부할때는 2.0을 사용했었다.. 지금은 2.0 책에 대한 링크를 찾을 수가 없어서리.. 결국 같은 책인데 나중에 4.0으로 업그레이드 된 책이다..
이 책 한권만 후루룩 보고도 개발을 쉽게 시작할 수 있었다.. 책이 좋은 건지 개발툴이 좋았던건지는 잘 모르겠다.. 아마 개발툴이 쓰기 편했던거 같다..

Inside Visual C++
Visual C++ 공부를 하면서 본 책인데, 요즘엔 Programming With Microsoft Visual C++ .NET 6/E 이라는 다른 이름으로 나오는 책이다.. 정말 꾸준히 업그레이드 되는 시리즈 책 중에 하나다.. .NET이 나오면서는 다른 내용으로 바뀔줄 알았는데, 꾸준하게 목차를 유지하고 있는 것도 대단하다..

Delphi와 Visual C++ 사이에서 고민을 하다가 Visual C++로 결정하게 된 이유는 Delphi 라는 개발툴이 좋지 않아서가 아니라, 어쩌면 맨 처음 공부했던 C++ 이라는 언어 때문이 아니었나 하는 생각이 든다.. 물론, Delphi로 만들어낸 프로그램의 산출물에 100% 만족 스러웠던 것은 아니지만, Delphi라는 개발툴이 Visual C++에 비해 떨어지는 개발툴이라는 생각은 별로 해본적이 없기 때문이다.. 참, 멋진 개발툴이라는 생각을 많이 했었다..

Delphi가 만들어내는 결과물에 대한 가장 큰 불만족은, 모든 RAD 툴이 그렇겠지만 실행 파일의 속도와 크기가 Visual C++로 만들어진 것에 비해서는 덩치도 좀 크고, 느린 느낌이 들었다.. 물론, 벤치마킹을 해본 바 없기 때문에 순전히 내 감이고 그렇지 않을 수도 있다.. Visual C++과 MFC로 만들어진 어플리케이션도 사실 윈도우에 MFC42.dll이 설치되어 있는 곳이 많아서 그럴 뿐이지 같이 배포하려면 크기가 Delphi의 그것과 큰 차이가 나지는 않는다.. 그럼에도 불구하고 요즘 세상에는 별로 문제가 되지도 않을 법한 크기와 실행속도의 차이가 느껴지는 것은 아무래도 C/C++에 대한 맹신이 좀 작용되지 않았나 하는 생각도 든다..

그리고 Delphi로 만들어진 어플리케이션은 좀 이상한 동작을 하는 부분이 있는데.. 대표적인 알집, 알씨 같은 프로그램들을 가지고 실험을 해보자.. 알집만 띄워놓고 '세로 바둑판식 창 배열'을 시켜보면 요상한 현상이 일어난다.. 분명 창은 하나인데 반쪽에 정렬이 된다.. 모든 Delphi로 만들어진 어플리케이션은 뒤에 숨은 윈도우가 하나 있기 때문이다.. 아마 이런 불필요한(?) 윈도우의 존재 역시 크기와 속도에 영향을 미친다고 생각하는데 한 몫 했는지도 모른다.. 아무튼 세로 바둑판식 창 배열 기능을 자주 사용하는 나에게는 내가 만든 어플리케이션이 이렇게 동작한다는게 상당히 맘에 들지 않았다.. 특히, 내가 어찌 해볼 도리 없이 Delphi라는 개발툴을 사용하면 무조건 이렇게 된다는 것이 더욱 짜증이 났는지도 모른다.. 이렇게 동작하지 않도록 만들 수 있는 방법을 알았다면 괜찮았겠지만.. (방법이 있는데 내가 몰랐을 수도 있다..)

이상한 동작은 또 하나가 더 있다.. Microsoft 마우스 제품들중에 버튼이 몇개 더 달린 것들이 있다.. 내가 사용하는 것도 그중 하나인데, 각 버튼마다 기능을 부여할 수 있는데 각 윈도우마다 우측 상단 구석에 있는 윈도우 최소화 버튼을 누르지 않고 (사실 이거 생각보다 무자게 반복되기 때문에 마우스를 그리로 움직이고, 버튼위에 맞춘후 클릭하는 동작.. 정말 짜증나는 일이다..) 마우스 버튼만으로 최소화 하는 기능을 애용하는데, Delphi로 만들어진 어플리케이션은 좌측 하단에 이상한 모양으로 최소화가 된다.. 이것도 아마도 뒤에 숨은 윈도우 때문이 아닐까 추측만 해본다.. 마치 MDI 어플리케이션의 MDI 창이 작아지는 듯한 모습인데, 도대체 왜 이렇게 최소화가 되는지 정말 이해가 안된다.. 이것도 정말 보기 싫은 현상중에 하나다..

이와 관련된 재미난 사실은 Microsoft의 Visual Studio .NET도 위의 2가지 똑같은 현상을 보인다는 것이다.. Spy++로 살펴보니 Delphi로 개발된 것 같지는 않은데 (설마 그럴리가.. Microsoft 제품이 Delphi로 만들어졌을리 없지 않은가..) 동작은 Delphi로 만들어진 어플리케이션과 동일하다.. 아마도 볼랜드의 Delphi 및 VCL을 설계한 사람을 Microsoft에서 .NET 개발을 위해 스카웃 해갔다던데 그 영향이 미친게 아닐까 생각을 해본다.. Microsoft에서도 이러한 Delphi로 만들어진 어플리케이션과 유사한 동작이 마음에 걸렸는지 VS .NET의 차기 버젼에서 부터는 이러한 현상이 사라졌다.. (VS .NET의 차기 버젼인 Whidbey 알파버젼에서 확인, 2002에서 그러길래 2003에서는 나아졌을 것으로 기대했지만 여전했고, Whidbey에 와서야 달라졌다.. 허허허.. 별문제 아니라고 생각했나 보다.. 1600 해상도에서도 VC++ 6와는 달리 세로 창 배열로 2개 띄워놓는 개발자가 별로 없을거라 생각을 한걸까 ??)

아무튼 Delphi란 개발툴이 멋지고 강력한 툴임에는 부정하지 않는다.. C++ Builder, JBuilder, Kylix 같은 툴만 봐도 정말 대단하다는 생각이 든다.. 해서, C++ 빌더도 C/C++에 대한 욕구를 충족시켜줬을 것 같아 고려를 해보기는 했다.. 하지만, 여전히 VCL이라는 라이브러리를 동일하게 사용하고, 여기에 꽤 의존적인 개발툴이라 델파이에서 나타났던 현상이 똑같이 나타날 것 같아서 내게는 별로 매력적이진 못했던것 같다.. 언어만 오브젝트 파스칼에서 C++로 바뀐 것이지 동일한 라이브러리 사용에 동일한 개발환경, 동일한 결과물.. 사실 같은 개발툴이나 다름 없다는 생각이 들었다.. 내 성격이 너무 까탈스러운가 ??

사실 따지고 보면 위에서 나열한 내용들은 아주 사소한 것들이라 델파이나 C++ 빌더 같은 개발툴이 좋은 개발툴이라는 사실을 부정하는데는 아무런 도움이 되질 않는 것들이라 할 수 있다.. 지금도 계속 나오는지는 모르겠지만, 사사미 같은 멋진 동영상 플레이어도 델파이로 만들어졌으며, 현재 유명한 이스트 소프트의 알 시리즈도 모두 델파이 혹은 C++ 빌더로 만들어진 프로그램들이다.. 아마도 찾아보면 많이 사용되는 유용한 어플리케이션들 중에 이들 개발툴을 사용해 만들어진 것들이 훨씬 더 많이 있을 것이다.. (확인해보는 방법은 Spy++ 같은 프로그램으로 클래스명을 보면 TForm 등과 같이 T~로 시작하는 클래스명을 같는 윈도우들이 보이면 델파이 혹은 C++ 빌더로 개발되었다고 생각하면 된다..)
RAD툴이면서도 엄청난 컴파일 속도, 쉬운 사용, 강력한 기능 등등 정말 예전 볼랜드의 명성 (Turbo-C 2.0을 사용해본 사람은 알 것이다.. 도스시절 볼랜드의 명성을..)을 되살리는데 한몫 단단히 한 멋진 개발툴이기 때문이다..

결국 멋진 2개의 개발툴 사이의 갈등에 종지부를 찍게 해준 것은 보다 다양한 활용이 가능하게 해주는 활용도 였다.. Delphi는 어플리케이션을 쉽고 빠르게 만들어낼 수 있도록 해주고 RAD툴이면서도 못 만드는게 없는 강력한 개발툴이기는 했지만, 더 다양한 욕구를 채워주지는 못했다.. 예를들어 Visual C++은 C와 Win32 API 만으로 정말 작은 크기의 어플리케이션을 만들어낼 수 있었는데 (때에 따라서는 작은 사이즈가 정말 중요한 때가 있다.. 게다 C와 Win32 API만으로 만들어진 어플리케이션은 실행파일 하나만으로 어디서든 실행된다는 장점도 있다..) Delphi로는 아예 불가능하다는게 흠이었다.. (델파이의 파워유저가 아니었기 때문에 방법이 있는데 내가 모를 수도 있다..) 그리고 C/C++로 작성된 수많은 공개소스도 한 몫 했을 것이다.. 즉, C/C++ 컴파일러와 윈도 어플리케이션 개발환경을 적절히 지원한 Visual C++이 마음만 먹으면 OS도 만들어낼 수 있는 다양한 능력을 지원하는 반면 델파이의 경우는 사실 몇가지 제한이 있어서 (RAD 툴 중에서는 델파이만큼 다양한 능력을 발휘하는 개발툴도 없기는 하다..) 결국 하나 배워서 오만데 다 써먹자는 생각에 보다 부합하는 것이 Visual C++이었던 것이다..
특히, C/C++ 컴파일러만 있으면 어느 플랫폼에서건 비록 생산성이 좀 떨어질 수는 있지만, 뭐든 만들어 낼 수 있는게 사실이니.. 못하는게 없다.. 흐흐.. 스크립트로 쉽게 할 수 있는 일을 C/C++ 가지고 고집하는게 더 우스울런지도 모르긴 하지만..

그 후로도 한동한 내 PC엔 Delphi도 같이 설치되어 있었는데 (아마도 Delphi 4까지는 같이 설치해두고 사용했던것 같다..) 나중엔 점차 사용빈도가 떨어지면서 요즘엔 아예 설치도 안하고 산다.. UI 프로토타입이나 간단한 테스트용 어플리케이션 개발은 이제 C#과 WinForm이 그 자리를 대신 했다.. 예전엔 Visual Basic을 배워보려고 노력을 해보긴 했지만, 아무래도 프로그래밍 언어 같지가 않아서리 포기하고 Visual C++의 다이얼로그 베이스 어플리케이션이 Delphi를 대신 했었다.. 스크립트를 배울 거면 차라리 Perl이나 Python을 배우자는 생각이 들어서리..
그래도 아직 집 책꽂이에는 델파이 관련 서적들이 꽂혀 있다.. 가끔씩 먼지를 털어내곤 하는데 갈수록 기억이 가물거리긴 한다.. 요즘 같아서는 파스칼 프로그래밍 언어도 거의 다 잊어버린 것 같기도 하다.. 정말로 추억속으로.. 냠냠..
이 글을 쓰면서 볼랜드 홈페이지에 가보니 Delphi 8이 나왔다는 것 같던데.. .NET 환경도 지원하는가 보다.. 역시 멋진 개발툴 답게 그 생명력도 끊이지 않고 이어가는 것 같다.. 아마도 유저층도 여전히 탄탄히 구축되어 있을 것이다.. 새 버젼이 나오길 기다리며.. 한때 사용자로서 Delphi의 행보를 계속 지켜보는 것도 재미난 일이 될 것 같다..

그리고 사실 개발툴의 선택은 이젠 어찌보면 개인의 취향이 아닐까 하는 생각도 든다.. 어떤 개발툴이 어떤 것 보다 우월하다던가 더 좋다는 비교는 사실 의미가 별로 없지않나 하는 생각이 든다.. 상황과 용도에 따라 너무도 다양한 선택이 나올 수 있어서가 아닐까..
가장 이상적인 개발자는 상황에 맞게 프로그래밍 언어와 개발툴을 선택할 수 있는 개발자가 아닐까 하는 생각도 해본다.. 경력과 경험만 쌓이면 충분히 가능하다고 생각하는데.. 특정 언어와 개발툴에 전문가가 되는게 더 바람직한걸까??

핑백

덧글

  • 제닉스 2004/01/24 18:36 # 답글

    헉.. 진짜 그러네요.. 창 정렬이 ㅋ
    전 MS에서 만든 OS니 MS 에서 만든 개발툴이 제일 잘 맞겠지..
    라는 생각에 파워빌더보단 VB를.. 델파이보단 VC를 선호 합니다.ㅋ
  • ×파인애플우유× 2004/01/24 23:45 # 답글

    컴퓨터를 정말 잘하시나봐요_ 저두 한때 미쳤었는데_
    다 생소한 느낌이 드네요_ ;;
  • LikeJAzz 2004/01/25 05:47 # 삭제 답글

    여전히 해마다 꾸준히 버전업되는 델파이를 보고있노라면 참으로 대단하다는 생각이듭니다 ;)
  • 서비 2004/01/25 12:48 # 답글

    4년째 C빌더를 쓰고 있는지는 몰라도.. C++ Builder를 선호하는 편입니다.
    이만큼 UI 디자인 설계 편리하고 더군다나 dephi와 똑같은 인터페이스에 언어를 강력한 C++을 사용하고 있다는점에 개발툴이 좋아 좋은 프로그램이 나오기 보다는 개발자가 어떻게 개발하느냐에 따른것이라고 생각하는데.. 물론 각자 가지고 있는 장점이 있겠지만.. ^^
    전 VC를 LIB 모듈 개발쪽으로.. BCB, Delphi를 UI개발용으로 쓰고 있습니다.
  • zaya 2004/01/25 13:04 # 답글

    지금도 C 입문 하시는 분들은 터보C 2.0 을 많이 쓰죠..
    저도 대학와서 C배울때 터보C 2.0으로 했었는데...
  • 미친병아리 2004/01/25 13:14 # 답글

    제닉스님 : 네.. 저도 같은 이유로 학교 다닐때 VC++ 1.5를 선택했었습니다.. 당시엔 BC++이 대세라 VC++ 선택이 이상하게 비춰지더군요.. 흐흐..

    ×파인애플우유×님 : 잘 하긴요.. 자주 사용할 뿐입니다.. 허허..

    LikeJAzz님 : 넹.. 맞습니다..

    서비님 : 공감합니다.. 개발자가 어떻게 쓰느냐에 따라 따른 것이라는 점.. 서비님 덧글 읽고 마지막 몇자 더 덧붙였습니다.. 제 편협된 글을 좀 더 보완해보고자.. 상황에 맞는 개발툴을 선택할 수 있는 개발자가 가장 멋진 개발자가 아닐까 싶습니다..

    zaya님 : 우와.. 아직도 터보C 2.0이 사용되는가 보네요.. 놀라움..
  • 지니 2004/01/26 09:54 # 삭제 답글

    델파이, 빌더로 만든 프로그램 버그 중에 다음과 같은 것도 있죠...
    프로그램을 띄워 놓고 바탕화면 보기를 누른후, 해당 프로그램을
    작업 표시줄에서 클릭해서 보려고 하면 애니메이션이 가운데로 간답니다... 아마도 가운데 숨은 메인 윈도우가 있어서 그런것 같더군요...
  • zaya 2004/01/26 22:07 # 답글

    아마도 C가 망하지 않는한 터보C 2.0은 C입문하시는 분들에게
    는 꾸준히 쓰이지 않을까요??3.0은 어설픈 윈도우 환경이라
    안쓰더군요..
  • 狂風 2004/01/27 17:07 # 답글

    휴. 저도 한때는 VB로 못할거 없다고 굴다가. 미병님과 비슷하계 어느 한계를 느껴서 VC로 왔습니다. 델파이도 하긴 했는데. 왠지 전 안 맞더라고요.. VB도 참 오래했었는데.. 한때 왠지 그런 반감정드는 이야기도 있었잖아요. VB와 VC간의 무시와 오기 같은.. VB로도 API호출이 된다는 둥에. 근데 제일 한계를 느낀건. ActiveX 콘트롤때였습니다. 깔끔하게 딸랑 하나만 받는 VC계열의 컨트롤과. 런타임 라이브러리등을 모두 다운받는 VB 그러다가 느낀거지만. 툴은 그리 중요하지 않다는것.. 그래지금은 별로 안가립니다. 레벨업이 되가는걸까요? 냐하하하 (이런 건방진.. ㅡㅡ;)
  • 미친병아리 2004/02/14 18:20 # 답글

    지니님 : 핫.. 정말 그렇군요.. 흐흐.. 신기한 현상.. 재미난건 발견입니다..

    zaya님 : 아무래도 기왕 배울거 gcc나 VC++을 가지고 시작하는게 좋을 것 같은데.. TC 2.0으로 하는건 좀.. 흐흐흐..

    狂風님 : 음.. 사실 VC++로 ActiveX 컨트롤을 만들어도 약 640K 정도의 (압축해서) MFC 관련 DLL들이 내려가야 합니다.. 하지만, IE나 기타 다른 Microsoft 제품들을 설치하면서 대부분의 사용자들 PC에 이 DLL들이 설치되어 있기 때문에 걍 Ocx 파일 하나만 내려가도 되는 것 같지만, 실상으로는 배포 용량은 비슷할겁니다..
    그리고 VB로 못하는거 없다는 말 맞습니다.. 다만, Win32 환경에서는 이라는 단서가 붙을 뿐입니다.. 제가 C/C++을 좋아하는 이유는 OS 만들기, 리눅스에서도 돌아가는 게임 만들기 등 이런데 관심이 많아서지요.. VB나 델파이로는 이런게 불가능하기 땜시..
  • Delphian 2004/12/01 11:26 # 삭제 답글

    예전부터 님의 사이트를 자주 방문하던 개발자입니다.
    시대와 시장의 흐름은 어쩔 수 없는 상황이지요. 훗~ 회사에서도 VC++에 밀려서 같은 툴로 포기하게 되었다는....
    델파이는 위대하다는 것을 혼자서만 인정하고 있습니다.
    그리고, 위에서 말씀하신 것들 중에 'Win32사용'만으로 개발은 델파이에서도 100%지원 합니다.
    세월에 장사없다는 말이 실감나는군요.
  • 미친병아리 2004/12/02 02:43 # 답글

    네.. 안녕하세요.. 뭐, 제가 델파이를 1년 조금 넘게 밖에 사용을 못해본지라, 잘 못 알고 있었는가 봅니다.. 좋은 개발툴임에도 불구하고 시장에서 밀린다는건 다른게 더 좋다는 이야기겠지요.. 더 좋아지지 못하는게 아쉽습니다..
  • 아오링고카지리 2006/12/25 13:18 # 삭제 답글

    vb가 프로그래밍 언어 같지 않다라는 말을 보고,, 흑..약간의 허무함이 느껴지는게.. 2년전에,꼭 만들어보고 싶은 프로그램이 있어서 배운 첫 프로그래밍언어가 vb였는데,,(겨우 프로그램 몇개 만들어놓고 허무함 어쩌고 는 좀 건방질수도 있지만 ). 확실히. 델파이나 c 등의 코드에 비해 vb코드는 다소 직관적(나쁘게 말해 단순?) 일까나.... 그래서 첨에 쉽게 배웠나싶고..실은 델파이를 배워보고 싶어서 이리지러 둘러보다가 들렀는데. 이 포스트를 보고 약간 달리 생각하게 되었네요.. 그냥 vb로 가자..^^;. 델파이가 나쁘다는 뜻이 아니라, 그냥 하나라도 제대로 끌고가자라-는 원글 과는 도무지 상관없는(?) 감상이 들었네요.

  • 김혁철 2006/12/26 06:06 # 삭제 답글

    visual
  • 미친병아리 2006/12/31 00:31 # 답글

    아오링고카지리님 : 뭐, 넘 허무하게 생각지는 마세요.. 그냥 제 개인적인 생각이니까요.. 스크립트류의 언어들을 별로 좋아하지 않는 제 취향탓이겠지요.. VB가 많은 장점을 가지고 있습니다.. 넘 허무해 하지 마세요..

    김혁철님 : Visual 하면 C++이 먼저 떠오르는데.. 직업병이네요.. ㅎㅎㅎ
댓글 입력 영역