.NET 2005환경에서 MFC를 공부하고 싶어서 서점에 갔다가 ㅜㅜ

cjynim의 이미지

그 동안 C와 JAVA만 공부하다가 C++의 매력에 푹 빠져 있는 학생입니다. C에서 할 수 없는 객체를 구현할

수 있다는 점 또 JAVA에서는 할 수 없었던 시스템 깊숙한 곳 까지 직접 제어할 수 있다는 점이 절 끄러 당기

더라구요 .. (물론 JAVA프로그래머분들 제가 JAVA에 깊은 지식이 없어서 생긴 편견 일수도 있으니 너그럽

게 이해해주세요 ~) 그러던 중 C++로 윈도우 프로그램도 해 볼까 해서 오늘 서점에 MFC관련 서적을 보러

갔었습니다. 그런데 MFC관련 서적들이 하나같이 2004년 이전 책들이더라구요 .. C++과 MFC가 오래된 기술

이고 이미 JAVA와 C#이 우리나라 프로그램계의 주류라고는 하지만 제 생각에 윈도우 시스템 상에서 여러가지

세세한 기능을 구현해 낼 수 있는건 운영체제 종속적인 Win32 API와 MFC라고 생각하거든요. 그 매력에 빠져

Win32 API도 오랜 시간 공부를 했었거든요. 서점에 보면 Win32 API관련 새로운 책들이 간간히 보이는데

MFC책은 새로운 책들은 거의 없고 있다고 하더라고 .NET 2005환경에서 기술한 책들은 또 없더라구요 ...

기껏해야 .NET 2003을 기준으로 쓴 책이 전부 구요 나머지는 Visual Studio 6.0을 기준으로 하여 쓴

책들이 주류였습니다. MFC가 사장되어가고 있는 기술이어서 새로운 책들이 안 나오는 걸까요?? 제 생각

이지만 윈도우라는 운영체제가 존재하는 한 Win32 API, MFC 이 두 기술은 없어지지 않을것 같거든요 ..

아무리 C#이 있다고 하지만 C#역시 자바와 같이 가상머신(C#의 경우 .NET Framework인가요??)환경에서

돌아가고 그렇기 때문에 Win32 API나 MFC만큼 시스템의 세세한 부분을 건드수 없다고 알고있거든요 ...

혹시 이 글을 읽으신 분들 중 MFC관련 기술 고수 분들이 계시면 저 같이 MFC를 공부하고 싶은 학생을 위해

좋은 책 추천(가능하면 .NET 2005환경이면 좋겠습니다.)과 MFC가 과연 사장되어 가는 기술인지 아니면 계

속 되어갈 기술인지 등에 대해 조언을 좀 부탁드립니다.

vacancy의 이미지


MFC는 사장되어갈 기술이 맞습니다.
.NET framework이 그 자리를 대신하게 될 것이고요.
Windows에서는 기존 C++의 자리 역시
Managed C++로 대치되는 방향으로 바뀔 것 같네요.

Programming language의 발전 방향이나 역사를 보아선
사실 C++은 사라질 때가 된 것 같은데
기존 코드들이 하도 많아서 오래 버티는 것 같네요.
( 이에 대해서는 이견이 많이 있으실 것 같습니다만. :> )

멀리 보신다면 Java나 C#을 공부하시는 편이 좋을 것 같고요.
Low-level 프로그래밍을 원하신다면 C쪽이 낫다고 봅니다.

익명 사용자의 이미지

얼핏 듯기로 차기버젼의 MFC가 나올예정으로 알고 있습니다.
MFC가 사장될 기술로 보는것은 무리라고 생각하는데요?
.net이 할수없는 영역에서 MFC는 현재 많이 쓰이고 있고, 이에 대안할수있는 frame work이나 기술이 나오지 않는한 계속 쓰일수밖에 없지 않을까요?

ydongyol의 이미지

MS홈페이지에 MSDN을 둘러 보다 보면
MS가 .NET 쪽으로 정말 가고 있구나 하는걸 느끼실 껍니다..
MFC에서 많은 부분의 링크가 사라지고 그자리를 .NET 자료로 채워져 가고 있습니다.

--
Linux강국 KOREA
http://ydongyol.tistory.com/

--
Linux강국 KOREA
http://ydongyol.tistory.com/

익명 사용자의 이미지

글쎄요... MFC 차기버젼이 나온다 하더라도 그걸 기다리거나 그걸 사용하느니
WTL로 옮겨가라고 추천하고 싶군요.

MasterQ의 이미지

managed C++ 보면서 느낀것은 단지 기존 C++ 개발자들을 .NET 환경에 그나마 익숙하도록 "낚으려는" 의도 말고는 없다는 거였습니다.. 그 복잡하고 이상한 syntax들.. 그나마 조금 나아지긴 했지만, 그 노력이라면 차라리 C#을 배워서 .NET을 100% 활용하는게 훨씬 낫다고 봅니다.

vacancy의 이미지


저도 그렇게 생각합니다. ^^a
결국은 C++ 개발자들에게 C#을 배우라고 종용하는 거겠지요.

새로운 언어를 배울 여력이 있다면
굳이 C++를 계속 사용하거나 더 익히거나 할 필요는 없겠죠.
새로운 언어들이 보다 높은 생산성을 자랑하고 있는 현 시점에서는요.

C++를 추천할 상황은 정말 퍼포먼스가 엄청나게 중요한 경우 말고는
이제 딱히 없지 않나 생각합니다.
Java나 C# 등 현대 언어의 컴파일러가 없는 환경이 아니라면요.

chadr의 이미지

C#에서도 win32api를 사용할수 있으며.. c/c++로 작성된 dll을 로드하여 사용할수 있습니다.

시스템과 밀접한 관계가 있거나 속도가 중요하다면 c/c++로..
빠르게 개발을 해야하는 ui쪽과 간단한 로직은 c#으로 같이 하시면 좋습니다.:)
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

MasterQ의 이미지

Win32 API와 그에 대응하는 .NET Framework API문서 입니다. 참고하세요.

http://msdn2.microsoft.com/en-us/library/Aa302340.aspx

linacker의 이미지

MFC는 그대로 입니다. (버전은 왜 바뀐거지? 컨트롤이 이뻐져서?)

예전에 MFC가 인기를 얻기 시작하던 당시 책이 많아 나왔고

지금과 별다른데 없는 상태이므로 책이 많이는 나오지 않는거죠...

바뀐거는 툴이 바뀐겁니다..

클래스 위자드가 없어졌고...
STL이 많~~~이 좋아졌다는거..
배포 방식이 바뀌었다는거..
(근데 왜 C++은 클래스 다이어그램 안그려주고 리팩토링도 안해주고...)

특별히 다른건 생각이 잘 안나네요...

보기 편하신걸로 책 한권 고르셔서 더운날 열공, 수고 하세요....

이런거 고민하지 마시고 MFC 아키텍쳐가 이해 안가시면 그걸로 고민하시면 됩니다.

음~! 저도 생각해보니 고민이 있네요...
C#으로 닷넷기반으로 응용프로그램을 개발해야하는 이유는 무엇인가? 입니다.
C#으로 웹프로그램도 개발하나요? C#의 정체는? 누구냐 넌?!!!!

요즘 C#을 공부하는데 C++과의 차이점을 모르겠습니다.
개념 조금 다른거 말고는 객체지향언어라는 점은 아~~주 똑같더라구요...
어차피 닷넷과 관련된 건 비베나 C++/CLI나 C#이나 마찬가지인거구요.

vacancy의 이미지


그 '개념'의 차이가 크다고 볼 수 있겠지요.

예를 들어 다중 상속과 같은 경우를 보면
Java나 C#의 Interface를 이용한 다중 상속은
C++의 그것보다는 Object Pascal의 그것을 닮았습니다.
C++에선 프로그래머가 개념이 잡혀 있지 않으면 별의별 문제가 다 생기죠.
( 같은 이름의 변수/함수 여기저기 넣고 다이아몬드 상속 .. 같은 ;; )

현대 언어(+ 프레임워크)들은 '적당한 제약'을 통해서
프로그래머가 쉽게 생산성을 높이는 방향으로 만들어지고 있다고 봅니다.
Garbage collection 같은 것도 그러한 예가 되고요.

C++은 C보다는 제약이 있는 편이지만,
나름 멀티 패러다임(전 이게 패러다임이 없다는 소리로 들립니다만) 언어이니 만큼
넓은 범위의 자유도를 허용하고 있고
이 점이 물론 잘 쓰는 사람들에겐 좋을 수도 있겠지만,
생산성을 떨어뜨리는 요인이 되기도 한다는 점에서
요즘 추세와는 좀 거리가 있지 않나 생각을 합니다.

속도가 빠른 것도 아니고 관련된 툴이 C++보다 많은 것도 아닌데
Java나 C#의 사용자점유율이 올라가고 있다는 건 시사하는 바가 크겠지요.

abcdefg의 이미지

MFC 가 최신 환경에서 달라진 점은 거의 없습니다.

컬렉션 객체 대신 STL 을 사용 할 수 있다 정도 ...

MFC 프레임 웍에 대해 자세히 설명된 저서로는

전병선 씨의 저서를 추천합니다.

그 저서도 이미 품절된지 오래되서 전병선 씨가 공개해 놨습니다.

http://cafe.daum.net/ooCBD

azura4의 이미지

"Programming Windows with MFC" 가장 좋을 듯 싶네요. 원서 ebook은 쉽게 구하실 수 있습니다.
구조와 원리에 대해 심도 있게 공부 하시려면 "MFC Internal" 도 괜찮구요.

읽어보지는 않았지만 서평을 보니 국내서 중에서 "IT EXPERT 윈도우 프로그래머를 위한 MFC 구조와 원리" 란 책도 좋은 것 같더군요.

Darkcircle의 이미지

MFC를 하느니 C#.Net 을 하는게 훨 낫다고 생각합니다.
아니면 로우레벨에서 Win32API를 하시든지 ...
(솔직시 말해서 Win32API도 완전한 로우레벨은 아니지만...)
===============================================
니네 군대에서 멀쩡한 몸으로 18시간 자봤어? ㅋㅋㅋ

---------------------------------------------------------------
폐인이 되자 (/ㅂ/)