VC++ 6.0을 쓰지 말아야하는 이유 by

트랙백: Visual Studio 6.0를 계속 쓸까? 아니면 Visual Studio 2008로 바꿔?

2008년 3월인 지금까지도 여전히 많은 프로젝트들이 10년 전에 출시된 VC++ 6.0으로 개발하고 있다는 사실이 다소 놀랍고 충격적이기까지 하다. 많은 분들이 토를 단다. 그런데 직접 십만 라인의 VC6 프로젝트를 2003년,VS 2003으로 이전한 경험이 있는 나로서는 그저 게을러서, 귀찮아서 라는 변명으로 밖에 들리지 않는다. 정말로 VC++ 6.0을 써야만 하는 절대절명의 이유가 있는지 정말 궁금하다. 왜 VC++ 6.0을 쓰지 말고 최소 VS 2005을 써야하는지 몇 가지만 써보자. (단, 이 이야기는 .NET을 사용하지 않는 Win32 기반의 C/C++ 프로젝트에만 적용된다.)

 

1. 보다 안전한 프로그래밍

2001년 온 세상을 골치아프게 했던 Code Red Worm을 기억할 것이다. 이건 대표적으로 heap buffer overflow의 결과인데, 이건 사소한 프로그래밍 실수 혹은 미비한 체크로 발생한다. 예를 들어, strcpy 같은 함수가 대표적이다. strcpy는 아시다시피 달랑 두 개의 스트링 인자만 받고 길이를 입력 받지 않는다. 그건 두 인자 모두 NULL로 안전하게 끝나는 것을 가정하기 때문이다. 그런데 의도적으로 할당된 버퍼보다 더 많은 문자열을 입력할 경우? 최악의 경우 재앙이 벌어질 수 있다. 실제 대부분의 버퍼 오버플로우는 이렇게 발생한다. VC++ 6.0에서는  strcpy를 써도 아무런 경고 따위 없다. 그러나 VS 2005 이상에서는 이런 함수는 쓰면 위험하다고 경고를 띄운다.

xxx.cpp(66) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

 

2. 유니코드 프로그래밍

아직까지도 유니코드가 아닌 MBCS로 시작하는 (윈도우) 프로그래머가 있으면 이건 기본도 모르는 사람이다. "아직 저희 제품이 윈도우 98을 지원 해야해서..." 라는 변명도 통하지 않는다. 그럴 경우에는 윈도우 95/98을 위한 Unicode Layer를 쓰면 된다. VS 2005에서 프로젝트를 하나 생성하면 디폴트가 유니코드이다. 이제 구닥다리 아스키 MBCS 기반의 프로그램을 짜야할 이유가 전혀 없다. 윈도우 NT 커널은 모두 유니코드로 짜여있어서 유니코드를 바로 쓰는 것이 성능에도 좋다. 예를 들어, CreateWindow라는 함수는 실제로 CreateWindowA라는 아스키 버전과 CreateWindowW라는 유니코드 버전이 있는데, 윈도우 NT 커널에서는 W 버전만 구현이 되어있다. 그리고 A 버전 함수가 불리면 입력 받은 스트링을 모두 유니코드로 바꾸는 과정을 거친 뒤, W를 실행시킨다. 참고로 윈도우 CE는 오직 유니코드만 지원한다. 따라서 아스키, MBCS를 써야할 이유가 이제는 없다. "윈도우 98 사용자들을 그래도..." 닥쳐라. 그냥 무시해라. 내 블로그 통계에 아예 Windows 98은 잡히지도 않는다.

영문 윈도우에서 non-Unicode 세팅을 영어로 했을 때, 여전히 ???와 같은 글씨가 보이는 프로그램들을 보면 한숨만 팍팍 나온다. 유니코드로 전환하는 것이 그렇게 어려운 것도 아니다. 사실, 제대로 공부 좀 했는 윈도우 프로그래머라면 10년 전 부터 이미 TCHAR, _T(x)와 같이 Unicode prepared된 코드를 만들었어야만 했다. 그러나 위에서도 말했듯이 이제는 모두 NT 기반 커널을 사용하기 때문에 TCHAR을 사용할 필요도 없다. 그냥 바로 wchar_t, L"Hello, World!"로 하면 된다.

반드시 알아야할 내용: http://eslife.tistory.com/entry/유니코드로-개발하기

 

3. 보다 뛰어난 인텔리센스

VC++ 2008은 아직도 안 써봐서 잘 모르겠지만, VC++ 2005의 인텔리센스만 해도 상당히 우수한 편이다. 물론 C#에서 지원되는 인텔리센스에 비하면 한참이나 모자라지만 기타 다른 모든 C/C++ 인텔리센스 중에서는 최고의 성능을 자랑한다고 확신한다 (이클립스, 소스인사이트 등등 모두 능가함). VC6 에서는 인텔리센스 기능이 초창기 버전이라 부족한 점이 매우 많았다. 대표적으로 #define으로 정의된 것들은 목록에 뜨지 않는다. 그리고 2003에 비해서도 성능이 많이 개선이 되었다. 여기에 적기에는 너무 장황해질 것 같아 생략하겠지만 2003에서는 처리가 안되어서 아쉬웠던 것이 2005에서 지원이 된 케이스가 있다. (이거 확인하고 바로 VS 2003 언인스톨)

VC++ 6.0 (사실 난 2002년부터 쓰지 않았다)을 쓸 때는 Visual Assist가 필수품이었는데 이제는 이걸 쓸 이유가 없다. Visual Studio가 지원하는 인텔리 센스만 해도 충분하기 때문이다.

 

4. STL의 (거의) 완벽한 지원

STL을 사용한다면 당장에 VC++ 6.0은 언인스톨 해야한다. 역시 eslife님이 아주 잘 정리를 해주셨기에 링크로 대체: http://eslife.tistory.com/entry/Visual-Studio-버전-별-STL-지원. 링크 글에도 나오지만 VS 2005의 STL 디버깅은 환상적이다. 예전에 STL 내용물 보기 위해 계속 노가다 뛰었던 걸 기억하면 눈물 날 정도다 (gdb에서는 dump 함수를 짜서 실행시키면 되긴 하지만 여전히 불편했다).

 

5. 뛰어난 IDE 매크로 사용

VC++ 6.0에서도 매크로가 되긴 된다. 그러나 Visual Studio .NET (7.0 버전)에서 부터 매크로가 매우 강력해졌다. IDE 하나가 DTE라는 객체로 접근이 되고 모든 IDE 객체 및 요소가 접근이 되고 매크로화 할 수 있다. 대표적으로 예를 하나 적어보면 .cpp와 .h를 연결해주는 매크로도 쉽게 만들 수 있다.

 

6. 더 훌륭해진 컴파일러

컴파일러만 놓고봐도 VS 2005 이상을 써야할 이유가 충분하다. MS compiler extension이긴 하지만 편리한 키워드도 추가가 되었으며, profile-guided 최적화도 가능하고, 컴파일러 메세지도 보다 친절해졌으며, OpenMP도 그냥 지원이 된다. C99 기능들은 지원하지는 않지만 훨씬 C++ 표준에 부합된 프론트엔드를 가지고 있다.

 

7. 더 괜찮아진 IDE

IDE만 놓고 보면 VC++ 6.0보다 많이 무겁다. 그러나 메모리 요즘 엄청나게 저렴하고 듀얼 코어 CPU도 저렴하니 그거 달면 가볍다. 회사에서 좋은 컴퓨터 안 사주면 회사 때려치던가 아니면 자기돈 들여서라도 좋은 컴퓨터로 바꿔야 한다. 남들 3분만에 컴파일할 것, 5분 동안 컴파일하면 그건 시간 낭비. 남은 2분 동안 최소 잠자거나 인터넷 서핑해도 남는 장사다. 그러니 최신 Visual Studio가 메모리 많이 먹는다는 것은 그다지 핑게거리가 되지 않는다.

VC++ 6.0의 IDE는 뭐랄까 애증이 교차한다. 희한하게도 이 IDE는 MFC로 만들어져 있어서 많은 호기심을 자아냈다. (단순하게 Spy++로 확인해보면 Afx:... 로 시작하는 Window Class Name이 확인 가능하다) 아마 마이크로소프트 내부에서 만든 프로그램 중 MFC를 쓴 것은 VC6과 Wordpad 정도가 아닐까? 그러나 VC++ 6.0의 IDE는 그다지 우수하지 않다. 일관성이 없다고 할 수 있다. 반면, Visual Studio .NET 부터는 모든 언어들이 공통적인 IDE로 통합이 되어 훨씬 일관성이 있는 UI로 바뀌었다. 물론 "ClassWizard가 사라졌어요!" 라는 비명이 잠시 들리지만 걱정 마시라, 다 있다. (물론 요즘 컴퓨터에서는 매우 가벼워진 VC6 덕택에 이 녀석을 에디터로 쓰시는 분들도 봤다)

VS 2003 시절까지만 해도 디버깅 심볼 서버 쓰기 위해서 삽질 좀 해야했던 것도 VS 2005에서는 그냥 된다. 또, VS 2003 까지만 해도 툴바 설정, 폰트 색깔 설정을 새 컴퓨터로 이동하기 위해 레지스트리도 백업해야하고 파일들도 카피해야했던 것에 비해, 세팅을 이전할 수 있는 기능을 built-in으로 지원한다. Team 버전은 사용하지 않았지만 거기에는 프로파일링, 유닛 테스트 등이 모두 포함되어있다고 한다. 마지막으로 VC6의 16색 썰렁한 아이콘에 비해 2005의 256색 아이콘은 더 이쁘다...

 

8. 멀티 코어의 사용

좀 와전된 내용이 있는 것 같은데, 최신 VC++ 컴파일러가 멀티 코어를 인식해서 뭔가 새로운 수준의 최적화나 컴파일을 하는 것은 아니다. 단순히 컴파일을 할 때, 멀티 코어를 다 활용하여 컴파일 시간을 단축시키는 것에 불과하다. 그래도 어쨌든 요즘 거의 기본인 듀얼 코어 환경에서 보다 빠르게 컴파일을 할 수 있다. VS 2005는 이 기능이 사실 미약해서 단순히 독립적인 두 프로젝트를 동시에 컴파일하는 수준이었는데, VS 2008은 모르겠다. 사실 컴파일은 그 자체가 embarrassingly parallel한 작업이라서 파일 수준으로 동시에 병렬적으로 컴파일을 할 수 있다.

 

9. MFC/ATL의 변화

VC++ 2008에는 제법 많은 MFC의 변화가 있다. 그러나 VS.NET부터도 변화가 적지 않게 있었다고 볼 수 있다. 바로 MFC와 ATL 중 공통적인 클래스들은 이들에 의존적이지 않고 사용할 수 있도록 된 것이다. 대표적으로 CString을 들 수 있다. VC++ 6에서는 CString 하나만 쓰려고 해도 MFC를 들고 다녀야만 했다. 그러나 버전 7, 그러니까 VS.NET 부터 (mfc70*.dll)는 CString, CRect, CPoint와 같은 타입들은 죄다 독립적으로 빠져 일반적인 Win32 프로젝트에도 붙여 쓸 수 있다.

 

또 뭐가 있을까. 정말 VC6을 아직도 쓰는 사람들이 있으면 도시락 싸가면서 말리고 싶다. 그 만큼 얻는 이득이 많다. 딱 하나 불편한 점이 있다면, MFC/ATL dll을 따로 배포해야 한다는 점 정도만 있을 것이다. 글쎄다. 정말 어떤 점이 VC6에서 VS 2005 혹은 VS 2008의 이전을 가로 막는지 궁금하다. VS 2008의 C/C++ 기능은 보다 많이 강화가 되었기 때문에 바꾸어야할 이유는 더 많아졌다.

운영체제야 비스타를 쓰라고 강요할 이유가 없다. 그러나 개발툴은 보다 안전하고 보다 빠르고 보다 효율적인 개발을 할 수 있다는 점에서 새 버전이 나오면 적극적으로 이전할 필요가 있다.

과거 십만 라인 프로젝트들을 바꿀 때, 쉽지는 않았다. 그런데 일주일 정도면 충분히 이전할 수 있었다. 오히려 컴파일러가 더 좋아지고 CString의 특정 함수의 프로토타입이 더 좋게 바뀌어서 잠재된 버그까지 잡을 수 있었다. 반복적인 노가다가 필요했지만 충분히 보상되고도 남는다. 그래서 더더욱 최소 VS 2005의 업그레이드를 추천한다.


핑백

  • stadia님의 글 - [2008년 3월 6일, 목요일] 2008-03-06 11:10:13 #

    ... 회원가입 stadia's me2day by 백일몽 리듬 담배 돌아보는 공감받은 공감하는 친구들은 ← 2008년 3월 1 2 3 4 5 6 6 Mar 2008 0 metoo 이런 글 보면 멜이 좋아할 것 같은데 안 보이시네 오전 11시 9분 vs2008 댓글 (0) 0 metoo 헉... 이번주 토요일이 kldp 컨퍼런스 날이네. kldp 캠프라고 하시 ... more

  • 종로꼬마님의 이글루 : 2008년 3월 6일 2008-03-06 13:57:11 #

    ... VC++ 6.0을 쓰지 말아야하는 이유</a> <a href="http://minjang.egloos.com/1783328" name="1783328" title="VC++ 6.0을 쓰지 말아야하는 이유"> ... more

  • 미친병아리가 삐약삐약 : 2008년 03월 10일.. 2008-03-10 01:10:59 #

    ... 다는 팀원의 평가에 좀 더 비중을 두는 것이 좋다고 생각한다.. 미래의 행복한 소프트웨어 개발자가 되려면(2) 생각보다 연재가 빨리 올라오네.. 다음번 내용에 기대.. VC++ 6.0을 쓰지 말아야하는 이유 아직도 열심히(?) VC++ 6을 사용하고 있는 나는 뜨끔하다.. ^^ 그냥 재미로(Just for fun) '진정한 knowhow는 다 보고도 뺏지 못하는 것 ... more

  • 미친감자의 BLOG : [VS]Visual Studio Express 사용해보기. 2008-12-31 20:49:56 #

    ... /blog_post_25.aspx 뽐뿌맨님께서 쓰신 글인데,VS 6.0 과 VS 2008에 관한 재미있는 내용이 있네요..덧글이 유명하신분의 덧글도 있구요.http://minjang.egloos.com/1783328 VS2008을 사용해야 되는 이유에 대해서 너무 조리있게 잘 정리한 글이군요 음..마무리가 잘 안됬군요..암튼...오늘은 여기까 ... more

덧글

  • 시즈하 2008/03/06 05:31 # 답글

    2005 버전의 기능을 전부 다 이용하고 있지는 않지만, 지금에 와서 6.0을 쓰려고 하면 미치겠더군요...-o-;
  • object 2008/03/06 07:15 # 답글

    미치죠... VC6을 새로 쓰라면 포기합니다.

    또 있군요. XP, 비스타에 사용되는 최신 컨트롤이나 Theme 지원도 용이 합니다.
  • JOHN_DOE 2008/03/06 07:39 # 답글

    VS6.0 으로 하니까 비스타에서 안돌아가서, 2005로 했더니 98에서 안돌고 wwww 그래서 고생좀 했더라는 경험이...하지만 써야할 이유가 더 많군요. 사실 뭘 써도 호환에서 부조화가 생겨서 선뜻 바꾸지 못하게 하는 마소탓도 살짝 해봅니다 ㅠㅠㅠ 여하간 이건 개념포스팅
  • 회색사과 2008/03/06 08:15 # 답글

    이제사 프로그래밍 살짝이 맛본 컴공1학년입니다요 ㄷㄷ

    2008이 나온 마당에 VS6로 수업하고

    실습한번 못해보고 칠판에 수업받고있습죠 ㅋㅋ [흑석동 c뭐 대...]

    처음 배울때 대체 왜 새버전두고 비스타서 제대로 돌아가도 않는 6.0갖고 놀아야하는거냐 라고

    버럭버럭 했던기억이 있네요 ㄷㄷㄷㄷ
  • 3년차 2010/07/01 09:05 # 삭제

    간단하죠... 학교는 돈이 없기 때문입니다. 아마 깔린 6.0도 불법 복제품일 가능성 95%!!!
  • 지나가다 2010/07/03 12:43 # 삭제

    SPC 너무 무시하시는듯요 -_-);

    보통 2k3 등을 가지고 있습니다만 이런 최신(!) 개발툴에 익숙하지 못한 교수진의 요구로 6.0을 재설치 하는 경우도 많습니다.
  • 승네군 2008/03/06 08:52 # 삭제 답글

    개인 개발자라면.. 모르겠습니다만...
    회사라면.. 라이센스 비용때문에..
    '에잇.. 이때까지 잘 해 왔잖아.. 걍 써도..'
    뭐.. 이런 마인드 아닐까요?
    아.. 전, 이제, 사회에 내 버려진(!!) 초보 백수라서 '제 생각에' 그렇다는것 뿐입니다. ;;
  • 백탄왕 2008/03/06 09:06 # 답글

    이글을 보니, 왠지 바로 2005로 갈아타야 할것 같은 기분입니다..ㅎㅎ
  • object 2008/03/06 09:17 # 답글

    학생들에게는 비주얼 스튜디오 최신판이 무료로 제공이 됩니다. VC6으로 수업하는 건, C언어를 터보씨로 배우는 꼴에 비유할 수 있겠습니다. 글을 다시 읽어보니 좀 강한 어조로 쓴 듯 한데, 정말 개발자들 반성해야합니다. 새로운 기술을 무조건 받아들이는 것이 좋은 것은 아니지만 이런 저런 이유로 여전히 VC6을 고수하고 있는 개발자들은 반성해야합니다.
  • rein 2008/03/06 09:19 # 삭제 답글

    최근에 한 프로젝트(회사는 아니고 동아리 프로젝트)를 2003->2005로 옮기면서 2년 묵은 버그를 하나 잡았죠(...).
    2003->2005 넘어가면서 STL 디버깅이 좀 더 강화되었는데, 덕분에 이것저것 잘 체크해줘서 좋습니다 :)
  • 타마 2008/03/06 09:26 # 답글

    좋은 정보 잘 보고 갑니다.
  • 네모도리 2008/03/06 09:27 # 답글

    개발자들의 문제라기 보다는 제도 적인 문제가 우선이라고 봅니다.
    업그레이드가 힘들거나 손쉽거나가 중요한게 아니라 그런 과정이 회사에서 추구하는 솔루션의 방향에 맞춰서 장기적인 관점에서 진행해 나가야 한다는 것이 중요합니다.
    즉 개발자의 문제가 아니라 기획의 문제라고 보는 것이 합당하지 않을까 생각합니다.
  • object 2008/03/06 09:31 # 답글

    흠, 기획의 문제를 보고도 가만히 있는 개발자들도 문제가 아닐까요? 저도 2003년에 회사 들어갔을 때, 여전히 VC6을 쓰는 것을 보고 제가 총대매고 설득하고 설명해서 결국 이전하고 결과도 좋았습니다. .NET 프레임웍이나 기타 걸리는 것이 많으면 모를까 적어도 Win32 기반의 어플리케이션은 VC6을 고수할 이유가 전혀 없다고 생각합니다.
  • eslife 2008/03/06 09:36 # 삭제 답글

    컴파일 버전을 바꿀때 특히 6.0 에서 2003 이나 2005로 바꿀때 생각보다 문제가 많았습니다. 저희 같은 경우 20명정도 개발자가 꼬박 한달 넘게 고생했던거 같습니다. 그리고 무지막지한 다운로드도 필수고..
    코드가 백만단위는 예전에 넘었고 천만단위에 육박하다보니. 쉽게 결정하기가 어려운 부분도 많더군요..
    개발에 대한 비용 문제, 고객 다운로드 문제(고객들은 컴파일러 변경된게 중요한게 아니라, 그래서 모가 좋아졌는데를 더 중요하게 생각하거든요. 윗분들도 그런게 많습니다) 등 실제 프로덕트를 운용하다 보면 문제가 되는 부분도 상당히 많습니다.
    다행히 저희 회사는 이러한 변화를 잘 받아 들이는 쪽이라, 늘 새로운 버전이 나오면 착실히 업그레이드 해 오고 있습니다. 조만간 2008 로도 대대적인 이사 준비중이구요.

    2005 에서 심볼 서버의 복잡한 설정이 없어진건 저처럼 하루에도 수백개 dump 를 보는 사람에게 참 행복한 일입니다. 말씀하신대로 새 컴파일러를 쓰는 것은 행복한 개발자를 위해 필수사항인거 같습니다.

    늘 명쾌한 글 잘 보고 갑니다.

    ps. 음 가문의 영광입니다. object 님으로 부터 링크 2개나 받고 ^^;
  • object 2008/03/06 09:47 # 답글

    아, 천만 단위는 정말 많군요. 저는 테스트로 제가 바꾼 것이 한 십만단위였고, 그게 제대로 바뀌고 나서 다른 모든 프로젝트들도 (백만은 충분히 될 듯 하네요) VS 2003으로 바꾸었습니다. 제 생각에 VC6 -> 2003만 고생하면 2005, 2008로의 이전은 거의 공짜가 아닐런지 생각이 되네요.
  • 미친과학자 2008/03/06 09:53 # 답글

    6.0을 쓰는 선배 회사의 이야기.

    나 : 형네 회사는 왜 아직 6.0 써요?
    선배 : ...라이센스 구매예산이 없어....

    .....하늘도 울고 땅도 울고 빌게이츠도 울고 스티브 발머도 울고....

    이런 케이스는 봐줍시다 :)
  • 게드 2008/03/06 10:00 # 답글

    은행권 업무로.. 6.0부터 .net 05까지 쓰고 있는 실정으로는.. 바꾸고 싶어도, 갑에서 허락을 안해줍니다 -ㅇ-;;
  • coffeejava 2008/03/06 10:01 # 답글

    안타까운 이야기이지만 학과에서 비쥬얼베이직을 수업하는 과목이 있는데 10년 전부터 아직까지 6.0으로 강의를 하고 있죠. 문제는 교수님께서 공부를 안하시는군요...
  • 별자리점 2008/03/06 10:24 # 답글

    꼭 개발자가 게을러서 못 바꾸는건 아니라고 봅니다.

    저같은 경우야 갑/을쪽에서 "니 맘대로 하세요"라고 해서 정말 맘대로 C#으로 개발하고 있지만,

    친구의 경우 을쪽에서 "내가 VS6으로 개발하고 있으니 너도 VS6으로 개발해라"라고 하기 때문에 VS6을 세 달간 고생한 경우도 있습니다.

    VS2005에서도 C/C++ Unmanaged code를 생성할 수 있는데 왜 VS6을 고집하는지 모르겠습니다.
  • adol 2008/03/06 10:25 # 답글

    안녕하세요.
    현재는 2005를 개인적으로도 구매해서 사용하고도 있습니다만, 사실 6.0의 설계가 취향적으로는 더 맞는 쪽입니다. 예전 버전까지는 제대로 된 링커를 지원해왔으면서, 버전업하면서 컴파일러에서 제대로 된 링커를 지원하지 않는다는 것 자체가 납득이 되지 않는다랄까, 그렇네요.(좀 심하게 말하자면 사실상 링커가 없다-라고 봐도 무방하다랄까, 그런...)
    독자적인 실행이 되지 않는 exe를 빌드하는 컴파일러는 제대로 된 물건이라고 생각하지 않기 때문에. 가끔씩 이런 반편이 컴파일러를 어쩔수 없이 써야 한다는 게 한심해질 때가 있습니다. 음;

    그리고 ANSI C를 무시하는 듯한 MS의 레퍼런스 정책도 마음에 들지 않습니다. strcpy와 같은 함수에 있어서 워닝을 출력하고 MS독자의 함수를 쓰라고 유도하는 이 방식을 순순히 따를 경우, 소스 자체가 윈도우즈 전용으로 변해 버립니다. 이걸 막기 위해서는 #ifdef로 일일이 처리해주는 수밖에 없는데, 사실 이건 불합리한 코드라고 생각하고요. ANSI 표준 제정의 차원에서 strcpy를 재정의하는 방식을 취하는 것이 제대로 된 수순이라고 생각합니다만...
  • ㄹㄹㄹ 2008/03/06 10:35 # 삭제 답글

    사실 언급하신 내용 절반 이상은 알고 있는 프로그래머가 많을 겁니다만.. 역시 이래저래 바꾸지를 않죠 ㅎㅎ
    예전에 잠시 몸담던 회사에서 VS 6.0을 계속 써야 했던 이유는 로즈 2003에서 sln파일 리버스를 지원 안했기 때문이었습니다. 물론 이것도 sln->dsw로 자동으로 변환하는 도구를 만들던지 했다면 해결이 되었을 거라는 생각을 한다면 프로그래머에게도 책임을 걷어내기 힘든 상황인 건 맞군요.
  • 학주니 2008/03/06 11:44 # 삭제 답글

    일단 소스를 다 바꾸기가 쉽지가 않아서.. -.-;
    글고 클레스위저드를 여전히 못찾았어요.. -.-;
  • 돌다리 2008/03/06 11:59 # 답글

    일단 정품 가격이 ㄷㄷㄷㄷ.

    그리고 계속 프로그램을 업글 하면서 프로그래머도 계속 업글 되어야 한다는 ...

    물론 이 계통에선 어쩔 수 없는 것이지만

    이래서 3D 업종으로 분류되는 것일런지도...

    뭐랄까

    늦게 자면 늦게 일어나게 되고 피곤하다는 것 알면서도

    일직자는 거 가 잘 안되는거랑 비슷하달까요..

    그리고 컨버팅하면 다시는 못돌린다는 얘기...

    항상 가는곳마다 2005 이상 버전이 깔려있다고 장담을 못하니까요

    6.0 으로 짜면 일단 전 툴 호환은 되니까

  • object 2008/03/06 12:41 # 답글

    adol님 무슨 말씀이신지? 독자적인 exe를 만들 수 없다는 것이 무슨 말씀이신지? VS 2005에서 Hello, World를 만들면 그대로 exe하나 나오고 이건 어느 윈도우 환경이라도 다 돌아가는데요? .NET 말씀하시는 건가요? Exe를 만들었다는 자체가 링킹을 거쳤다는 것인데 뭔가 착각하시는 듯 하군요.

    그리고 Safe 함수 군들은 이미 표준으로 제안이 진행 중에 있으며 결국 glibc 등에도 반영이 될 것입니다. #ifdef 같은 작업은 tchar.h 처럼 한 번만 노가다 뛰면 해결이 되니 큰 문제가 되지 않죠. 이걸 이유로 safe 함수군을 쓰지 않는 것은 이유가 될 수 없다고 생각합니다. 참고로 strcpy_s에 대한 위키 설명을 보면

    strcpy_s
    The strcpy_s function, proposed for standardisation in ISO/IEC TR 24731,[3][4] is supported by some C libraries, including the Microsoft C Runtime Library.[5] It differs from strcpy in that it takes an extra parameter describing the size of the destination buffer and returns an error on overflow, thus preventing buffer overflow. However it is also explicitly unsupported by some libraries, including the GLibc library[6].

    glibc에 대응되는 함수군이 어떤 것이 있는지 잘 모르겠네요.

    학주니님.. 클래스 위자드는.. 흠.. 무척 직관적으로 바뀌었습니다. 클래스의 'Properties' 창을 가보시면 각종 메세지 핸들러 등을 달 수 있습니다. :) 그리고 소스 변경도 거의 find/replace로 쉽게 할 수 있습니다. 에러나는 패턴을 찾아 하나씩 공략하면 어렵지 않게 고칠 수 있습니다. 고쳐야하는 부분이 많다는 소리는 어떻게 보면 그 만큼 제대로 짜여진 코드가 아니라고 봐야하지 않을까요.

    ...

    그리고 갑과 을이라는 문제가 또 있었군요. 그 점은 제가 미처 생각을 잘... 못했군요. 저는 패키지 회사에서 일을 해서 제 맘대로 할 수 있었다는;;
  • Lyn 2008/03/06 13:16 # 삭제 답글

    전 MFC는 안쓰고 EVC++ 를 썼었는데... (평소엔 델파이를 씁니다)

    EVC++ 쓰자니 툴이 허접해서 사람 미치겠더군요 ㅜㅜ
    어시스트 깔아도 별로고

    그래서 결국 2008로 바꿔서 프로젝트를 했었는데.... 정말편합니다 ㅡ.ㅡ/
    6.0 쓰는사람이 이해가 안됨(EVC++4.0 이 6.0과 같은 IDE라고 하더군요)
  • object 2008/03/06 13:22 # 답글

    네, eVC++ 4.0이 VC6을 살짝 바꾼 거죠. 그것도 VS 2005에서 아주 멋지게 통합이 되어 더 이상 eVC++을 쓸 이유가 사라졌죠.
  • Lyn 2008/03/06 13:37 # 삭제 답글

    그런거 같습니다. VC++은 잘 안쓰는데....

    VS2003 이후로는 델파이나 볼랜드 C++빌더와 IDE가 많이 유사해져서 잘 쓰고 있네요.
    첨엔 멋모르고 eVC++로 하다가 3주일이나 작업하고 바꿨네요 ㅜㅜ 참다참다 못참아서
  • JOSH 2008/03/06 14:51 # 답글

    > Commented by object at 2008/03/06 12:41 #
    > adol님 무슨 말씀이신지? 독자적인 exe를 만들 수 없다는 것이 무슨 말씀이신지?

    adol 님 말씀은 "독자적인 실행이 되지 않는 exe를 빌드하는 " 이므로 exe를 만들수없다 가 아니라 덩치 큰 외부 라이브러리를 언제나 안고 가야하는 점을 의미하시는 것 같습니다.

    그런데 그건 그 MFC라이브러리를 exe에 합쳐버리면 되지 않나요..
    그래도 어쨌든 무식한 덩치를 안고 가는건 맞지만...
  • Sikuru 2008/03/06 14:58 # 답글

    그건 어짜피 VS6 서도 MFC 같은 건 어짜피 따로 있지 않던가요 ? ; MFC42.dll -_-;;
    그 외에도 VS6 에선 없어도 되고, VS2005 이상에서 필요한 케이스는 없을텐데요...

    갑/을-_-의 난감한 관계를 제외하곤 VS6 을 쓰는건 정말 이해가 잘 안되더군요.
    하긴... VS6 을 살 수 없어서 VS2003 라이센스-_-를 사서 VS6을 쓴다라는 어처구니 없는 얘기도 본적이... orz
  • 박상민 2008/03/06 14:59 # 답글

    심볼서버 설정하느라 삽질 많이 했었는데, 정말 좋은 기능 많아졌네요.

    저도 예전에 바꿀려고 했었는데 사장님이 아래와 같이 말씀하셨더랬죠.

    - 그거 바꾸면 고객사에서 문제온거 제때 대응 못하는거 아냐?
    - 그거 바뀌면 다시 배포해야 하는거 아냐?
    - 그거 바뀐다고 뭐가 더 좋아지는데...

    저는 그냥 굴복해버렸었죠. -_-
    지금이면 좀 달랐으려나.
  • 오스카 2008/03/06 15:09 # 삭제 답글

    독자적인 실행이 되지 않는 EXE라... 뭔가 개념을 착각하고 계신 듯.
  • spatialguy 2008/03/06 15:50 # 삭제 답글

    gcc!!
  • 가이우스 2008/03/06 16:07 # 답글

    저는 이뻐서.. 라기 보다는 2003이 왠지 제 컴에서 설치가 안되어서 2005를 설치한 케이스입니다.
    2005의 경우 회사 라이센스비 문제가 꽤 큰 것으로 알고 있습니다.
    아직 학생이라 잘은 모르지만 VS2005를 왜 안쓰냐고 했더니 라이센스비 이야기를 했던 것으로 기억
  • object 2008/03/06 16:13 # 답글

    gcc!! 잘 하면 올 여름이나 가을에 gcc 개발에 힘을 보탤 수도 :)

    회사에서 라이선스 비용도 제가 고려치 못했군요... 어느 정도 회사라면 그 정도는 감당할 수 있지 않을까 했는데 작은 업체에서는 많이 힘들 수도 있겠네요.
  • 뽐뿌맨 2008/03/06 16:37 # 삭제 답글

    와우, 너무라도 많은 분들이 댓글을 올려 주셔서 매일 밖으로 사돌아다녀서 블로깅도 좀 늦고 막 그래요~!! 민짱님께, 훌륭하게 논리정연하게 잘 정리해 주셨네요~!! "헉, 클래스 위저드가 사라졌어요~!"에서 한참을 웃었습니다. 솔직히 고백하자면 사실 저도 몇 시간 헤매이다가 혹시나 싶어서 옆을 보니 속성 창에 있더라구요. ㅠ.ㅠ 닷넷은 항상 프로퍼티(속성)에 정의를 하는데 이게 네이티브라서 딴데 있는 줄 알고..클래스 디자이너에서 막막 찾고 오른쪽 버튼 눌러서 메뉴 없나..두리번 두리번 했었더랬어요. 쿄쿄~~
  • 나이스닭 2008/03/06 17:40 # 삭제 답글

    상당히 공감하는 내용이군요.

    고등학교 1학년때 처음 프로그래밍을 배워 현재는 시스템 프로그램 개발자로 일하고 있습니다.
    제가 대학 다닐때 한창 비쥬얼스튜디오 2005를 뿌려대던 시기였는데 역시나 비주얼스튜디오6으로 가르키더군요.
    제가 일하고 있는 회사도 비쥬얼스튜디오6을 사용중이길래 짬좀 된 후 제가 아주 갈아엎었습니다.

    지금은 모든 개발자가 2005를 사용합니다. 머 위에 부장이랑 대판 싸웠지요..
    왜 2005를 써야되냐? 시대가 시대인만큼 더욱 편리하고 내부적으로도 많이 바뀐 기능을 통하여 빠르게 생산하는게 효율적이지 않겠냐라고 설득 끝에 바꿨습니다.

    물론 비싼 라이센스가 걸리는게 회사측에선 부담이 될테지만 위에 사람들이 빠른 생산성을 앞장세워 수익구조를 바꾼다는 이점을 잘 모르더군요.
    VS2005를 사용하게 되면 기존 6과는 비교가 안될정도의 빠른 생산성이 확보됩니다.
    많이 편리하지요. 이를 강조해야 합니다. 빠른 생산성을 강조하여 왜 2005를 사용해야하는지~

    지금은 다들 아주 만족합니다. 비쥬얼스튜디오6을 왜 사용하는지 이해하지 못하겠더군요.
    누군가 한명이 앞장서 바꿔보십시오. 왜 구닥다리 6을 사용하십니까?
    2005를 한번 사용해보시면 정말 6은 병진같이 보입니다. --+
  • scyrie 2008/03/06 22:45 # 답글

    저도 예전 다니던 회사에 입사하자마자 강하게 주장했던 일이 VS6.0 프로젝트를 VS2005로 이전하는 것이었습니다만 결국 실패했습니다. 그 이유로는
    첫번째, 이미 서비스가 안정적으로 돌아가고 있는 프로젝트의 컴파일러를 변경하는 것에 대한 높으신 분들의 거부감. (문제 생기면 누가 책임질래? 류의...)
    두번째, 비싼 라이센스 비용
    세번째, 선대 천재 개발자분의 유산인 VS6.0 컴파일러의 비표준성과 버그를 역으로 이용한 코드들
    등의 이유가 겹쳐서 결국 포기하게 되었습니다...ㅡㅜ
    결국 회사 그만둘때까지 그렇게 염원했던 VS2005로의 컨버전은 못 이뤘다는...ㅡㅜ
  • kyuseo 2008/03/07 00:09 # 삭제 답글

    개인적으로 생각하기에는 2003 버전은 프로그램 자체의 버그와 불편함으로 6.0 만도 못하다고 생각합니다.
    VS 는 2005 버전에 이르러 좀더 정확하고 버그가 줄어들어 선호하고, 있습니다.,

    하지만 C++ 게임, 어플 프로그래머 입장에서는 2008버전은 크게 변화가 없다고 생각합니다.


    그래도 아직도 VS 6 을 사용하는 회사가 생각보다 많습니다.
    개인 회사의 특성과 소프트웨어 비용, 개개인 툴 적응 시간이 있고, 이미 6.0 으로 개발되고 서비스되는 모든 소프트웨어를 2005 로 변경하기는 매우 위험하고 불안한 작업이라...
    신규 프로젝트는 2005 이상이 좋지만 구 프로젝트는 차라리 6.0에서 작업하는것이 안전하겠지요.
  • object 2008/03/07 00:18 # 답글

    "매우 위험하고 불안한 작업이라": 어떤 경우가 그럴까요? 정말로 컴파일러를 업그레이드 하는 것이 위험하고 불안한 작업일까요? 구체적인 예가 있을까요? 저는 이런 막연한 거부감 및 불안감에 반대하는 것입니다. 생각보다 무척 간단할 수도 있습니다.
  • 쩌비 2008/03/07 09:26 # 답글

    저도 지금 VisualStudio 6.0을 쓰고 있습니다만, 바꿀 계획인데 언제나 될지?
  • window31 2008/03/07 11:29 # 삭제 답글

    -> 그저 게을러서, 귀찮아서 라는 변명으로 밖에 들리지 않는다

    저 말씀이 맞는 거 같네요. 저도 손에 익은걸 귀찮아서 바꾸기 싫은 이유밖에 없습니다 ;
    아직도 VS 6.0 + assist 1079 쓰는 한심한 1人
  • object 2008/03/08 14:59 # 답글

    한심한 것은 아니죠.. :)
  • C/C++ 9Y 2008/03/14 16:56 # 삭제 답글

    다른 건 모르겠는데, IDE는 VC6가 낫다고 봅니다.
    VC++ 개발자중에 하나의 프로젝트를 하면서 프로그램 언어 섞어서 쓰는 사람은 거의
    없습니다.
    C/C++의 특징인 기능의 특화와 집중에 있어서, VS 2002 이후의 IDE는 개악이라고 봅니다.
    좀 심하게 말하면 쓰레기 수준입니다.
    외골수 성격이 강한 C/C++ 계열에 걸맞게 VC 만을 위한 특화된 환경을 따로 만들어 주는게
    낫다고 봅니다.
    어쨋든 VS2005 IDE가 좋아지는 덕분에, 프로젝트 파일(.proj)을 에디터로 따로 열어서
    수정하는 일이 많아졌군요. ㅡㅡ;
  • object 2008/03/14 19:31 # 답글

    다른 것도 좀 보세요 :) 다른 것도 좀 보면 IDE는 VC 2005가 낫습니다.
  • 김찬우 2008/03/17 14:44 # 삭제 답글

    VS 2005부터는 좀 쓸만하더군요.(비스타 지원 등등의 문제로 처음 사용).

    STL쓸때 겁먹었는데(내부 까보기가 힘들어서) 2005에서는 쾌재를 불렀습니다. 너무 사용이 편하고 좋아져서...
    하지만 느려터진 IDE 때문에 시간잡아먹을때면은 열받아서 책상을 주먹으로 내리치고 잠시 머리식히고 돌아오기도...(속도 차이가 넘 심해서...) 뭐 이제는 이게 당연한가보구나~ 싶어져서 잘 지냅니다. 가끔은 6.0도 켜놓고 소스 다듬기할때나의 용도로 잘 활용합니다. 빠르고 가벼워서...

    이제는 다시 돌아가라면 돌아가기 싫습니다. 6.0 -> 2005로 넘어오면서 STL도 같이 데려왔기때문에...
    돌아갈수 없네여. 이제 슬슬 boost도 공부하고나서 데리고 다녀야 하는데 6.0으로는 하기 싫어지네요~

    (잘은 모르겠지만) 2005에서 몇년간 또 멈춰있어야 할듯 합니다. 2008이 윈2000에서 설치가 안되니 직접 해당 OS에서 디버깅할일이 생기면 문제가 생길듯 하네요.
  • object 2008/03/17 14:49 # 답글

    듀얼코어 CPU에 (20만원도 안 합니다), 4GB 메모리면 (10만원도 안 합니다) VS 2005 3~4개 띄어놓고 작업해도 끄떡없습니다. 회사에서 그 정도 시스템 안 사주면 당장 그만두던가 직접 사비 털어 시스템 업그레이드 하실 것을 추천해드립니다. 느린 시스템에서 일하는 것 만큼 비효율적인 일은 없거든요. 저는 회사에서 예전에 메모리를 512MB까지만 사줘서 제 돈 털어 1GB 업글하고 작업했습니다. 모니터도 17인치 배불뚝이만 사줘서 제 돈 털어 LCD 놓고 듀얼로 작업했습니다. 느려터졌다는 것에는 10년 전에 만들어진 VC6에 비하면 그렇지만 최신 사양에서는 결코 무겁지도 않고 느리지도 않습니다.
  • 김찬우 2008/03/17 14:57 # 삭제 답글

    하긴...2004년도의 궁합안맞는 조립식입니다... 모니터 남는거 데려와서 듀얼모니터쓰고 듀얼용 그래픽카드는 제손으로 사서 달고...컴퓨터 바꿔준다..준다해놓고 언제 사줄런지... 컴퓨터 성능과 모니터 크기에 대한 생산성향상을 주제로 개발팀 총세미나에서 직접 발표까지 했건만 바꿔주지 않습니다. 개인PC도 절대 쓸수 없게 하고서...ㅎ

    p.s 돈좀 생기면 우선 좌우로 흔들거리는 의자부터 듀오백으로 바꿀려구요...^^;
  • object 2008/03/17 15:21 # 답글

    저도 회사에서 돈을 아끼기 위해 개발자들에게 허접 컴퓨터 사주는 건 정말 이해할 수 없는 처사라고 생각합니다. 특히나 어떤 사장은 "느린 컴퓨터에서 개발해야 느린 컴퓨터를 쓰는 사용자들의 고충을 이해할 수 있다"라는 궤변으로 저를 아연실색케 하기도 했죠. 최대한 빠른 컴퓨터, 넓은 모니터, 안락한 의자로 생산성을 높여야합니다. 회사에서 이렇게 해주면 회사에 대한 충성심도 높아지고 결국 플러스인데 당장 돈 들어가는 것만 아까워하죠...

    이런 맥락으로 VC6은 당장에 버리고 (정말로 피치못할 사정이 있으면 제발 좀 알려주세요) 최신 개발툴로 업그레이드 해야한다는 것입니다. 바로 생산성, 안락함에 직결이 되잖아요~
  • object 2008/03/17 15:23 # 답글

    아참 저는 의자도 제 돈 주고 못 받침 있는 듀오백으로 바꿨군요;; 처음 갓 입사했을 때는 눈치 보여서 못 했지만 2년 정도 있고 나서는 그냥 바꿨습니다 ㅎㅎ
  • 나모 2010/10/18 10:20 # 삭제

    저도 3년차때 에어론으로 바꿨습니다.
  • 21세기 2008/03/25 11:15 # 삭제 답글

    블로그 활용이 아직 온전치못해 트랙백걸린게 흉흉하네요;;
    양해바랍니다 :)
  • 달빛온도 2008/04/08 13:13 # 삭제 답글

    adol 님의 말씀중에 VS2005로 컴파일된 EXE파일이 독자적으로 실행되지 않는 다는 사실은 맞습니다.
    개발자분들 PC에 VS2005가 깔려있어서 못 느끼시겠지만 VS2005에서 컴파일된 윈도우 창 하나만 띄우는 Win32 API 프로젝트의 경우도 일반유저의 PC환경에서 혼자 실행이 되지 않습니다.
    VS2005에서 컴파일된 EXE파일을 실행시키기 위해서는
    MICROSOFT VISUAL C++ 2005 RUNTIME LIBRARIES(Microsoft Visual C++ 2005 SP1 재배포 가능 패키지 x86)을 깔아야합니다.
  • mg2000 2008/08/25 15:26 # 삭제 답글

    VS2005로 만든 exe가 독자적으로 실행되지 않는게 아니라 2003이전 버전과 달리 링크 파일을 참조하는 방식이 변경된 것입니다. 2005부터는 Side-by-Side Assembly를 사용하기 때문에, 단순히 필요한 DLL을 System32에 복사하는 것 만으로는 실행이 되지 않습니다.
  • kuaaan 2008/09/23 10:43 # 삭제 답글

    VS2005 로 업하면 좋긴 하겠지만...
    일단 클라이언트 개발자들은 쓰지 못하도록 MS에서 만들어 놨구... (Side-By-Side)
    보안상 취약한 함수를 Warning 하는 기능도 맘에 안듭니다. strcpy야 위험한 게 맞지만.. strncpy를 쓰는데도 경고를 띄우는 이유는?? 단지 MS에서 리커멘드하는 strcpy_s를 쓰지 않는다고 해서 귀찮게 구는 건 좀 맘에 안 드는군요...
  • 솔직히웃김 2008/11/25 00:41 # 삭제 답글

    다른건 몰라도 strcpy? 이딴거 가지고 위험하네 뭐네 엄살떨면서 프로그램 짜려면 그냥 c언어를 접으시는게...
  • object 2008/11/25 11:35 #

    무식하고 용감한 건 자랑이 아니죠. 한번 구글에서 strcpy에 대해 검색이라도 해보세요.
  • xeraph 2008/11/26 14:52 #

    솔직히웃김 님 진짜 웃기네요 ㅋㅋㅋ
  • 솔직히웃김 2008/11/25 00:47 # 삭제 답글

    그리고 문자열이 무슨 눈에 보이기 위한 문자열만 있나요? ㅋ 모든 프로그램은 유니코드로 짜야 된다는 생각 자체가 편협한 시각을 반영한다는 사실을 아시길...
  • wdream 2008/11/25 09:25 # 삭제 답글

    strcpy_s 같은 SAFE(?) 함수가 여전히 ISO의 승인을 받지 못한채 MS의 proprietary 로 남아있다는것이 문제일것 같네요. 오래전에 등장한 MS의 C++/CLI 가 ISO 승인을 받지 못한것 처럼요.
    상황이 나아져서 MS의 노력이 ISO 표준이 된다면, gcc를 포함한 다른 컴파일러들도 따라올테고, 호환성이니 뭐니 하는 논란을 종식시킬수 있을텐데, 아직 그런 기미는 보이지 않는것 같습니다. 뭐 정치적인 요소 또한 무시할 수 없겠지요.
    상황이 이런데도 불구하고, 컴파일러가 토해내는 수많은 deprecated ..waning 메시지는 뭐랄까요, 가뜩이나 매니아적 반골 기질이 만발한 C++ 개발자들을 자극하는 것 같습니다.
    제 생각에도 deprecated 라고 워닝을 내는것은 일종의 사기(?)가 아닌가 하는 생각이 들기도 합니다.ㅎㅎ

    개인적으론 코드 개발에 VS6 를 프로젝트에 어쩔수 없이(ㅠ.ㅠ 물고 있는 다른 모듈이 워낙 많아서..쩝 이유가 될라나요.) 사용하고 있고, 개인적인 모듈개발에는 VS2008에 _CRT_SECURE_NO_WARNINGS 를 적용해서 사용하고 있습니다. 타겟 플랫폼은 PC 또는 임베디드 리눅스이고요.
    좋은 글 잘 읽었습니다~

  • object 2008/11/25 11:54 #

    strcpy를 쓰면 보안 취약성을 가지는 것은 사실입니다. 설마 이 사실을 부인하지는 않겠죠. 그렇다면 이 함수를 쓸 때 경고를 띄우는 것은 매우 합리적입니다. 왜 deprecated 워닝이 문제가 되는지 저는 이해하기가 힘드네요. 위험을 알려주는 것도 무시하고 프로그램짜서 보안 취약성이 나면 도대체 어떻게 해야할까요? MS의 safe string 함수 군의 표준 승인은 정치적인 문제가 더 크고, strlcpy 같은 함수도 존재하는데 이 역시 glibc에서 채택되지 않았습니다. strcpy_s나 strlcpy가 쓰기 싫다면 strncpy라도 써야 합니다.

    VC++ 6.0에 대해서는 하나 여쭤봅니다: 5년 뒤에도 VC++ 6.0을 같은 이유로 쓰실 건가요?
  • 흠흠 2008/12/09 15:49 # 삭제 답글

    저희 회사는 뭐 VS2008을 쓰고 있긴한데... object님도 말을 심하게 하시네요... 뭐 개발환경을 최신으로 안바꿔주면 회사를 그만 두라느니... 그런말을... 님 처럼 대단한 능력을 가지신 분이야, 딴데 좋은 환경으로 이전이 가능하지만 그렇지 않으신 분들도 많을텐데... 그런식으로 말하니.. 상당히 거만해 보이는군요.
  • klisty 2009/01/15 11:07 # 삭제 답글

    흠... 컴퓨터공학과라면 몰라도... 메카트로닉공학과를 다니는 저로서는...;; 왜 VS2005를 사용하지 않고 VS6을 사용하는가라는 질문에...;; 당연한거 아냐? 라는 말 밖에는...;; 아직 VS2003의 라이브러리도 지원하지 않는 하드웨어들이 너무나 많기 때문입니다. 컴퓨터로 어떤걸 제어하려고 하는데, 저희쪽은 라이브러리 지원 안하면 그냥 지원하는 개발툴 쪽을 사용하는 거죠...;; 그래서 제 주변의 경우는 VS6도 설치가 되어 있고, VS200x도 설치가 되어 있는 경우가 많습니다.
  • 2009/03/04 15:46 # 삭제 답글

    좀 무익한 논쟁으로 힘들 빼지 말고 좀 건설적인 결과물로 토론을 했으면 하는 생각입니다.
    6.0 쓰는 분들이 그렇게 안타까우면 그저 안타깝게 생각하면 그만인거고
    2008 쓰는분들이 쓰면 그냥 쓰나보다 하면 되는거지 이게 어떻다 저게 어떻다.
    마치 갑이 을에게 이래라 저래라 하는 모습으로밖에 보이지 않는군요.
  • vmlinuz 2009/12/22 02:22 # 삭제 답글

    글쓴이가 글 자체를 공격적으로 써서 사람들을 홀리고 있네요.
    마치 스타워즈를 보지 말아야 하는 이유를 주절주절 늘어놓듯 개인 생각을 싸질러 놓았군요.
    보통은 이러저러해서 2005가 효율적이다.. 라고 하고 정리하는 것이 정상이겠지만.
    누가 봐도 VC6 쓰는 사람들을 싸잡아서 욕하는 것처럼 보이네요.
    이분 옆에서 행여나 구버전 프로그램 쓰다가는 개욕 얻어먹을 듯.
    "아직도 포토샵 CS를 쓰는 사람이 있을 줄이야. 자네 지금 제정신인가?"
    글 보면 잘난 척에 MS빠 기질까지 같은 회사 사람들 좀 고생할 듯..
  • ㅁㄴㅇㄹ 2012/11/11 03:58 # 삭제

    이 글 작성자는 과거 '로즈분투'로 유명한 악플러이자 트롤입니다. 무시하시는 게 속 편합니다.
  • vc6 최고 2010/06/09 20:12 # 삭제 답글

    Visual C++ 2003 부터는 .Net FrameWork가 기본적으로 사용하는 컴퓨터에 설치되어야하는데

    그건여? -_- 설치되어잇지않는 컴퓨터가 많다고 들었습니다만
  • 지나가다 2010/07/03 12:41 # 삭제

    VC2k3 설치중에 자동으로 설치합니다 -_-
  • 잡상인 2010/10/08 17:11 # 삭제 답글

    길가다 들릅니다 . 맞는 말입니다. 결국 가능한 빨리 2005으로 가야지요.
    그런데 쓰신것 이외에도 6.0을 써야되는 이유는 많습니다.
    자신의 경험만으로 6.0 쓰는 개발자들을 게으름뱅이 취급하는건 그닥 유쾌하진 않네요
    너무 개발자 입장에서만 생각하신듯 합니다.

    B2B라면 직접 돌려보고 OK하면 되지만 B2C의 경우엔
    6.0을 쓸때보다 2005를 쓸때 클레임이 분명이 훨씬 많습니다.
    당연히 돌아야 되는 코드가 알수 없는 이유로 안돌아가는 경우가 많습니다.
    물론 이련경우 대부분 사용자 PC의 문제입니다.
    근데 사용자들은 그런거 신경 안씁니다 안돌면 전화해서 짜증날 뿐이죠.

    그리고 경우에 따라서 결과 코드 사이즈도 10배이상 차이납니다.
    아무 차이없이 VC2005->VC60으로 바꿔서 코드 사이즈가 1/10 되더군요
    갑님께서 쌍수를 들고 기뻐하시더군요

    게다가 잘돌아 가는 코드를 2005로 바꾸는 작업은 당연히 좋은일이긴 하지만
    현실적으로는 차라리 새로 짜는게 버그를 더 줄일 수 있는 방향입니다.
    기능을 하나하나 검증하지 않는이상 잠재적 버그는 있을것이고
    그걸 검증하는건 결과적으로 새로 짜는것 보다 더 많은 리소스를 먹을수도 있습니다.

    6.0~2005 사이에 개판인 VS 버전들 덕분에 생긴 불신이 금방 사라지진 않을겁니다.
    6.0이 10년전에 나온 낡은 툴이란 생각을 할수도 있지만
    반대로 10년동안 검증된 툴이란 생각도 하셔야합니다.
    컴파일러의 허접함은 완전히 커버할 수 없지만
    말씀하신 내용중 유니코드나 멀티코어 등등의 문제들은
    SP나 PSDK 같은 패치들로 어느정도 따라갈 수 있습니다.
    즉, 나열하신 문제 대부분은 6.0의 한계가 아니라 불편함 때문에 야기되는 문제고
    그건 말씀하신 마인드를 가지고 고치려는 의지가 있는 게으르지 않은 개발자라면
    6.0에서도 충분히 커버할 수 있는 내용들입니다.

    은행권에서 낡은 시스템을 바꾸려 들지 않고
    NASA에서 아직도 8비트 칩을 주로 사용하는건 귀찮거나 돈이 없어서가 아닙니다.

    꼬랑지를 붙이자면 메모장처럼 부담없이 띄울수 있는 프로그램 무계도 무시할 수 없는 매력입니다.
  • Drake 2010/11/03 15:06 # 삭제 답글

    IE6만 지원하는 홈페이지 / IE6도 지원하는 홈페이지
    VC6만 할줄아는 개발자 / VC6도 할줄아는 개발자

    후자가 되자는 겁니다.
    한글자 차이지만 천지차이죠.
  • Jiyoon 2012/02/04 18:00 # 삭제 답글

    개발자 입장에서의 수많은 장점도 고객에게 불편함이 생긴다면 적용할 수 없습니다.
  • 하늘 2012/09/13 12:01 # 삭제 답글

    출처랑 같이 퍼갈게요
  • 푸른개 2013/01/03 15:33 # 삭제

    물론 대다수가 귀찮아서 이지만 분명다른이유도 있습니다. 이미사용중인 라이브러리와의 호환성 문제인데 잡다스런 하드웨어들 제어하는 라이브러리들이 6.0으로 되어 있고 이회사들이 영세하거나 이미 제품단종으로 더이상 업글을 안해주는경우도 종종 있습니다
  • 비쥬윤호 2013/04/24 14:14 # 삭제 답글

    정리가 잘되어 있네요 퍼갈게요 ^^
  • 바부팅 2013/05/30 00:01 # 삭제 답글

    vc6 쓸수도 있는데 너무 몰아 붙이네요.
    게으런게 누구 피해주나요. 그외에도 이런저런 이유들이 있지요.
    의도는 알겠지만 이런식은 달갑지 않네요.
  • Mink8 2013/08/19 10:18 # 삭제 답글

    VS 6.0이 2005 이상보다 가볍고 사용하기 쉽고..
    개발용으로 괜찮은 면이 많아요 나중에 VS 2010에서 다시 테스트 해도 왠만한 거는 다 돌아갑니다 :)
  • igmij 2013/09/09 22:46 # 삭제 답글

    현업 등에서 쓰시는 분들이 쓰시는 나름의 이유가 있겠지만, 언어를 새로 배우는 사람은 최신 버전을 쓰는게 맞다고 생각합니다.
    IDE 기능도 기능이고 STL 때문에라도 무조건 말이지요.
    (어째선지 msvc2010이 2005, 2008보다 가벼운 느낌도 나는군요)

    일반적인 데스트탑 환경에서라면, 유지보수 문제로 msvc 6.0을 쓰는 경우가 아직도 많겠지만...
    새로 시작하는 판이고 개발환경 고를 수 있다면 6.0은 답이 아닌 것 같네요.
  • igmij 2013/09/09 22:52 # 삭제 답글

    아, 한 가지 팁이랄까, msvc2010이 2005나 2008보다 확실히 가볍다는 느낌을 받습니다.
    인텔리센스 등을 비롯한 기능도 압도적으로 좋아요.
    그렇지만 컴파일러는 2005나 2008 것을 써야할 현실적인 문제가 가끔 있습니다. (2010 링커는 Windows XP 이상에서만 실행하게끔 실행파일을 만들어줍니다)

    msvc2010은 toolset이라는 것이 도입되어서, IDE는 2010을 쓰더라도 빌드 환경은 2008, 2005 것으로 컴파일 할 수 있는 기능이 있습니다.
    그냥 msvc가 여럿 깔려있으면 알아서 되더군요. msvc2008 toolchain만 깔아도 되는 것으로 압니다.
    이런 상황이시라면 컴파일러는 구버전을 쓰시더라도 꼭 IDE는 2010을 써보시길 권장드리고 싶네요.
  • Steve Lee 2013/10/07 13:01 # 답글

    어허허... ㅠ.ㅠ
    물론, 최근에는 VS 2012로 갈아타고 있습니다.
    공부를 안해서라기보단... 제가 그간 가지고 있던 고정관념 탓이었다고 생각하네요!
  • 고문서 2014/09/12 17:27 # 삭제 답글

    도서관있는 고문서 책들, 많은 데이터들이 KSC5601로 되어 있는데... 데이터를 새로 생성하면 문제가 안되겠지만 기존에 있는 데이터를 핸들링해야한다면...?
  • 교강용 2015/07/07 10:38 # 삭제

    모두 유니코드로 변환이 가능하고 최신 기술들도 여전히 예전 문자셋을 지원합니다만, 정 번거로우면 그 부분만 분리해도 됩니다.
  • 공돌노비 2015/05/10 00:47 # 삭제 답글

    예전 회사에서 비주얼씨뿔뿔 6.0으로 짠거 고객업체 장비 윈도우7,8에다가 놓고 돌리면 허구한날 디버그 에러 뜨더군요 - -;;
  • 교강용 2015/07/07 10:44 # 삭제 답글

    일반 버전과 거의 동일한 기능을 갖춘 커뮤니티 에디션이 나온 지금 상황에선 개인차원에서는 구버전에 머물 이유가 사실상 없고, 아마 남아 있는 사람도 거의 없을 겁니다. 문제는 결국 회사에서 발생하는데, 어른의 사정으로 인해 바꾸고 싶어도 못 바꾸는 경우가 대부분입니다. 사고시 종잇장같이 구겨지는 과부제조기 승합차 "다마스"가 아직도 생산되고 있는 이유와 같습니다. 상식적으로 보면 절대 일어나선 안 되는 일이지만 결국 어른의 사정이 문제죠..
  • 지나가다 2015/09/24 19:14 # 삭제 답글

    우연히 다른 것을 검색 하다가 이글을 발견 했는데...
    지금도 댓글이 이어지고 있군여...

    저도 질 수가 없어서 댓글 달고 가려구요...ㅋ

    VC++6.0을 버린지는 한참이 되었지만 6.0 정말 매력덩어리였죠...
    가장 매력적이었던 것은 가볍고 직관적인 UI에 있었다고 생각을 해요...

    하지만 이제는 사용을 할래도 사용을 할 수가 없더군요...
    일단 Win7에서 잘 안돌아 가고...
    무엇보다 많은 Reference Source Code들이 최신버젼들이어서 VC++ 6.0을 사용 할 수도 없죠..

    한때 6.0 매니아였던 사람으로서 추억을 돌이켜 보며 댓글 달고 갑니당~~~!
  • 파래 2015/10/20 09:29 # 삭제 답글

    전 아직도 VC6.0 즐겨 씁니다. 윈도10에도 엄청 고생해서 설치했습니다.
    사실 전 VC6.0 - VS2015 도 사용하고 있지만, 6.0 버릴 수 없는 이유 있습니다.
    절대... 네버... 앞에서 말씀하신 이상한 이유는 아닙니다.
    느껴보지 않고 이해될 수는 없겠지만, 손에 착착 감기는 코딩빨(?) 같은것?... 그 이상의 무엇이 있습니다.
  • mm 2016/10/28 14:06 # 삭제 답글

    글 내용은 좋은데 닥쳐라 라는말은 대체 왜한건지 모르겠네요

  • cheap_cialis 2017/04/15 14:11 # 삭제 답글

  • cialis 2017/04/20 06:07 # 삭제 답글

댓글 입력 영역