대학원에 간 뒤부터 컴퓨터나 프로그래밍 쪽 글은 눈에 띄게 줄고, 확실히 언어 쪽 글이 늘었다. 물론 철도 글은 예나 지금이나 비슷한 빈도로.. ㅋㅋㅋ
그래도 언젠가 한 번쯤 이런 글을 올리고 싶었다.

비주얼 C++ 4.2는 본인이 고등학교에 진학하고서 도스용 프로그램으로 정올 공모를 한 번 마친 후, 그때부터 공부하기 시작한 툴이다. 이때 윈도우 API, MFC, 심지어 C++ 객체 지향 개념까지 전부 뭉뚱그려서 동시에 공부를 시작한 셈이었다.
그로부터 10년이 지난 지금까지도 비주얼 C++은 나의 소중한 친구이고 내 마음의 고향이다. ^^;; <날개셋> 한글 입력기 1.0이 VC++ 4.2로 개발되었다.

참고로 4.2 버전은 4.0 버전이 몇 차례 마이너 업그레이드를 거친 것이었다. 4.2가 따로 4.0처럼 별도의 패키지로 출시되지는 않았으며, MSDN 구독자에게만 비공식적인 경로로 배포되었다고 한다. 이 점에서 4.2는 윈도우 95로 치면 마치 OSR2 업그레이드 에디션과 비슷한 위상이다.
지금은 윈도우든 개발툴이든 오피스든 MS에서 나오는 제품들은 다 서비스 팩이라는 개념으로 업데이트 방식이 통일되었지만 말이다.

그러나 4.2라는 버전은 굉장히 의미가 크다. 윈도우 운영체제가 시스템 차원에서 MFC 라이브러리의 하위 호환성을 보장해 주고 있는 최후 버전이 4.2이기 때문이다. 그 이름도 유명한 MFC42.DLL이다. MFC40.DLL이 아니다.

사용자 삽입 이미지

(<날개셋> 한글 입력기 1.0이 바로 윈도우 95 + 800*600 화면 + 비주얼 C++ 4.2 환경에서 개발됐다.)

그 전부터도, PC 환경에서 이제 윈도우가 대세로 넘어갔으니 윈도우 프로그래밍을 공부하려고 마음을 안 먹은 건 아니었다. 그러나 그때는 비주얼 베이직이나 델파이, C++ 빌더처럼 RAD 툴 수준에 머물러 있었다. 그러던 차에 접한 비주얼 C++은 굉장히 충격적이었다.
이 툴로는 다른 툴과는 달리, 운영체제와 직통으로 대화하고 다른 이상한 런타임이 필요하지 않은 가볍고 빠른 프로그램을 만들 수 있었기 때문이다.

비주얼 C++ 4.2 자체도 요즘 최신 버전에 비하면 정말 미치도록 작고 가볍다. ^^;;; 도움말은 RTF 기반이었고, C/C++ + 윈도우 API + MFC 레퍼런스를 전부 합해서 용량이 150MB 남짓밖에 안 했다. 그 당시 왼쪽의 class view는 실시간 업데이트가 되지 않았으며, 소스 코드를 저장해야 업데이트 됐다. ^^;;;
또한 프로그램 파일들이 압축되지 않은 형태로 CD에 그대로 들어있었기 때문에, 프로그램을 설치하지 않고도 CD에서 곧바로 MSDEV.EXE를 실행해서 프로그램을 실행할 수도 있었다. 물론 전기능을 제대로 활용할 수는 없었지만.

한동안 MS 오피스와 비주얼 C++은 요즘 서울 버스 색깔처럼 빨-노-초-파가 어우러진 4색 고리 모양 아이콘을 사용해 왔다. 4.2도 그랬다. 그런데 2010 버전은 둘 다 단색 아이콘으로 돌아갔으니 이 또한 흥미로운 점. 오피스는 노랑-주황색 사각형 창 4개 모양이 됐고, 비주얼 스튜디오(C++ 포함)는 보라색 ∞ 모양이 돼 있다.

세월이 흘러, 현재 <날개셋> 한글 입력기는 9개 모듈을 모두 비주얼 C++ 2008로 개발되는 중이다. 그러나 타자연습과 파워업은 적극적인 개발보다는 유지 보수만 하는 만큼 여전히 2003을 사용 중이다.

Posted by 사무엘

2010/10/29 16:10 2010/10/29 16:10
,
Response
No Trackback , 9 Comments
RSS :
http://moogi.new21.org/tc/rss/response/400

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

Comments List

  1. 주의사신 2010/10/30 09:00 # M/D Reply Permalink

    1. 학교에서는 6.0을 선호하시는 분들이 많아서 제가 제일 처음 쓴 컴파일러는 6.0이었습니다.

    그 때가 2008년이었던지라 6.0 조금 쓰다가 2008은 어떨까 해서 2008로 옮겼지요.

    확실히 2008이 좋더군요. 한글도 잘 쳐지고.

    (둘 다 어둠의 경로를 이용하였습니다.)

    2. 그리고 컴퓨터를 포맷하고, 다시 2008을 어둠의 경로로 구했습니다. 컴파일을 했는데 컴파일이 안되네요?

    그래서 검색 좀 해 봤는데도 안 나옵니다. 이유가.

    그리고 자꾸 바이러스 메시지가 뜨길래 백신을 돌려 봤는데, 헉, 악성 코드 3000개...

    그 이후로 Visual C++ 2008 Express 쓰다가,

    대인배 MS의 Dream Spark 프로그램을 알게 되어, 정품을 감사히 쓰고 있습니다.

    3. 악성 코드 3000개를 만난 이후로는 '빛의 자녀'로 행하고 있습니다.

    4. 요즘은 2010을 쓰고 있는데, Ctrl + , 은 참 편합니다. 원하는 코드로 날아갈 수 있거든요. 좀 무거워도 용서가 됩니다...

    1. 사무엘 2010/10/30 19:01 # M/D Permalink

      VC 6.0이 정말 명작이었지요.
      edit and continue, delay loading, 인텔리센스 등 혁신적인 기능이 전부 6.0때 추가됐죠.
      또한 닷넷이 나올 때까지 꽤 오래 VC++의 버전업이 없었고 닷넷(7 이상 버전)이 breaking change가 너무 큰 것도 6.0의 퇴역을 늦추는 데 기여했습니다.
      하지만 오늘날은 너무 오랫동안 현역으로 뛰고 있는 것도 문제.
      이후 버전과 비교해 보면 6.0 IDE는 너무 불편합니다. 지적하셨듯이 에디터가 심지어 IME-aware하지도 않을 정도로 후졌지요.
      IDE도 원시적이거니와 C++ 문법과 컴파일러 성능이 10년 동안 바뀐 것도 꽤 되기 때문에, 이제 저보고 6.0 쓰라고 하면 못 씁니다. ㅋㅋ
      참고로 5.0은 4.2기능 + 지금 6.0이 갖춘 UI 정도였는데, 6.0이 나오면서 금세 발렸음.

      어둠의 경로로 구한 프로그램으로 악성 코드가 들어왔다니, 저는 그런 적은 없었는데 섬뜩하군요.
      아, VS 2010 쓰시면.. <날개셋>으로 IDE에서 한글 입력 테스트 좀 해 주시겠어요? 버그 신고가 있었거든요.
      ㄱ 입력했다가 bksp로 지웠는데 ㄱ이 여전히 화면에 남아있다고 하네요.

  2. 주의사신 2010/10/31 16:19 # M/D Reply Permalink

    이 버그는 Visual Studio의 버그이지 날개셋의 버그는 아닌듯합니다.

    하여간 상당히 특이하게 작동을 하는데요.

    ㄱ -> 가 -> 간 -> 가 -> ㄱ 까지는 됩니다. 그런데 한 번 더 bksp를 누르면, ㄱ이 안 지워집니다. ㄱ만 그런 것이 아니라, ㄴ도 그렇고, ㄷ도 그렇고 다 그렇습니다.

    그런데 이것이 흥미로운 것은 기본으로 깔리는 Microsoft IME 2007에서도 같은 일이 벌어진다는 사실이네요.

    1. 사무엘 2010/11/01 13:11 # M/D Permalink

      알려 주셔서 감사합니다. IME 지원은 한 번 짜 놓으면 다시는 건드릴 일이 없고 문제를 일으킬 일도 없을 부분인데, 또 왜 그런 현상이 생겼는지 모르겠네요. ㄱ-

  3. 김 기윤 2010/11/01 00:21 # M/D Reply Permalink

    어째선지 아직도 대학교 교육현장에서도 현역으로 뛰고 있는 Visual Studio 6.0.. -_-;;

    정말 2008/2010 익숙해지고 나면 도저히 쓰기가 .. 안습 하죠 ㄷㄷ..

    그러고보니 요즘에도 2008로 개발했던건 유지/보수만 할 경우 귀찮아서 2010으로 안넘어오고 그냥 2008로 버티고 있지만. [..]

    1. 사무엘 2010/11/01 12:51 # M/D Permalink

      VC++ 6도 이제 너무 구닥다리인데 아직 VB 6을 붙잡고 있는 교육기관은.. 참 답이 없죠.

      그나저나, 별로 바뀔 일이 없을 것 같은데, VC++ 팀에서는 프로젝트 파일 포맷을 왜 이렇게 심심하면 자주 바꾸는지 모르겠어요.
      mdp: 4.x
      dsp/dsw: 5~6
      vcproj/sln: 7~9 (200x)
      또: 10 (2010)

  4. 김재주 2010/11/01 15:35 # M/D Reply Permalink

    VC 6.0이 불편하다 불편하다 하지만

    OS 과목에서 vim+ctags로 프로젝트 하다보니 이젠 그것도 사치스런 불평이었음을 강하게 느끼고 있습니다 -_-;; 뭐 저 툴들은 문제가 없지만 gdb로 디버그를 해야 한다는 게..

  5. 주의사신 2010/11/01 19:32 # M/D Reply Permalink

    1. 그런 버그가 발생하게 된 원인이 아마 에디터를 완전히 새로 만들었기 때문이 아닌가 합니다.

    2003~2008까지의 WinForm을 버리고, 2010부터는 WPF로 새로운 시작을 하였기 때문이 아닌가 추론해 봅니다.

    (WPF로 새로 작성했기 때문에 생긴 재미있는(?) 버그 중 하나는 Beta1 때 소스 편집 중, Ctrl + 휠 돌리기 하면 폰트가 커지고 작아지고 하는데, 옆에 있던 스크롤바 역시 같이 커지고 작아지고 했답니다.)

    아 그리고 버그 테스트는 Win7 32bit, 날개셋 및 MS IME 2007 두벌식에서 하였습니다. 다른 곳에서도 같은 일이 일어나는지는 잘 모르겠습니다.

    2. 이번에 MS에서 vcproj를 vcxproj로 바꾼 가장 큰 이유가 아마 MSBuild.exe 때문인듯 합니다.

    csproj랑 vcproj랑 파일 포맷이 달랐는데, 2010으로 오면서 vcproj가 csproj를 닮아 갔습니다.

    그래서 Visual Studio C++ 프로젝트를 Command Line 빌드할 때에는 VCBuild.exe, C# 빌드를 할 적에는 MSBuild.exe를 사용했는데,

    이제는 MSBuild.exe만 가지고 할 수 있게 되었습니다.

  6. 사무엘 2010/11/01 22:50 # M/D Reply Permalink

    김재주: MS 개발툴이 단순히 초보자에게 접근하기 쉬운 정도가 아니라, 숙련자에게 훌륭한 “생산성”을 제공하게 만들어졌다는 건 부인할 수 없는 사실일 겁니다.

    주의사신: 오, 상당히 설득력 있는 의견입니다. 좋은 정보 감사합니다.
    그렇게 비주얼 스튜디오 IDE 자체가 바뀌었다면 에디터도 처음부터 다시 짠 게 맞겠군요. 갈수록 더욱 무거워지겠다는 예감.. -_-;;
    2010은 과거 200x의 연장선이 아닌 건 확실해 보입니다.
    2008의 경우, .vcproj와 .vsproj는 XML 형태인 것만 일치할 뿐 내부 구조는 완전히 달랐지요.
    명령행 빌드 툴도 서로 달랐다니, 언젠가는 일치시켜 줘야 했겠습니다.

Leave a comment
« Previous : 1 : ... 1797 : 1798 : 1799 : 1800 : 1801 : 1802 : 1803 : 1804 : 1805 : ... 2141 : Next »

블로그 이미지

그런즉 이제 애호박, 단호박, 늙은호박 이 셋은 항상 있으나, 그 중에 제일은 늙은호박이니라.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2024/04   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

Site Stats

Total hits:
2674796
Today:
1488
Yesterday:
1540