MFC는 장치 제어 프로그래밍에서 빠질 수 없는 요소다. C++로 되어 있으니까 말이다. C++ 이 여전히 강세인 이유는 C#에서 하기 힘든 게 3가지가 있는데 하나는 3D, 영상 처리, 장치 제어이다.
해당 분야는 내 의지와 관계없이 일하면서 접할 수밖에 없었다. 그래서 블로그에 정리를 했었는데, 블로그를 폐쇄하면서 모두 브런치로 옮겨야겠다고 생각했다. 블로거는 글 쓰면 구글에서 다음 날 거의 최상위에 검색이 되어 개인 레퍼런스로 쓰기 딱 좋았지만, 이래저래 모르는 사람에게 연락이 오다 이상한 사람도 꼬여서 결국엔 폐쇄하기로 결정했다. 탈퇴 아님 있던 자료는 대부분 지우고 나중에 다른 목적으로 쓰려고 한다.
수십 년 간 MFC도 많은 변화가 있었다. 취소 버튼을 코드로
GetDlgItem(IDOK)->SetWindowTextW(_T("닫기")); 처럼 변경해야 했다면 이제, HTML파일을 고친다.
<BUTTON STYLE="WIDTH:100" ID="ButtonCancel">닫기</BUTTON>
난 버전이 다르면 아예 다른 소프트웨어라고 생각한다. 지금의 MFC는 사실상 windows 10에서 도는 MFC를 말해야 한다고 생각한다. 이 매거진도 레거시 코드를 탐색은 하겠지만 레거시(옛 것이지만 중요한)도 옛 것이라는 이유로 버려져야 한다고 생각한다. 윈10도 그런 절차를 밟고 이 매거진도 언젠가는 그렇게 되겠지. 변하지 않는 것은 "모든 것은 변한다"는 말을 제외하고는 없다. 하지만 마치 영원할 것처럼 매거진을 쓰려고 시작한다.
https://developer.microsoft.com/ko-kr/windows/downloads/windows-10-sdk
https://developer.microsoft.com/ko-kr/windows/downloads/windows-10-sdk
마소는 C#을 밀어준다. C#의 아버지인 해즐스 버그가 VB 5.0부터 exe 컴파일이 가능하게 하는 등 막강한 퍼포먼스를 보여줬기 때문이다. 물론, 그의 이적으로 기존 회사였던 볼랜드 사는 사실상 망했다. 중학생 시절 그 당시 내 평생 모은 18만 원을 볼랜드 Turbo C++ 3.0 정품을 사는데 투자할 정도로 멋진 회사라는 생각이었는데 말이다. 볼랜드도 sun社와 같이 인수되며 사라진 회사가 되어버린 것은 보면 스타 개발자가 떠나면 회사는 망한다는 경험적 지식을 얻는다.
10년 전 WPF를 쓰며, 정말 미려한 디자인이라 생각했다. 그래서 마소는 WPF를 밀고, 기존 MFC는 사라질 것 같았다. Visual Studio 2015를 사용하며 MFC가 무척 편리했었기에 그때,부터 본격적으로 다시 밀기 시작했던 것 같다. UML에서 Sequence/Class/UseCase 기능이 Enterprise Version에 아키텍트 메뉴로 들어가고, MFC 역시 IDE에 완벽히 통합된 느낌을 주었기에 좋았다. 그런데 웬걸... 2017 받아보니 아키텍트 메뉴는 다 사라졌고, MFC는 다시 찬밥이 된 듯한 느낌을 받는다.