COM 관련 서적이 왜 이렇게 없는 걸까요?

freezm7의 이미지

COM 은 Windows 프로그래밍에 있어 핵심을 이루는 기술이고,

특히나 우리나라 IT 는 거의 Windows 기반으로 편중되어 있는데,

이상하게 COM 에 대해서 전문적으로 다룬 서적이 절판된지 오래네요.

(Inside COM 이라던가, ATL Com Programming 등)

COM 하면
1. Inside COM,
2. Essential COM,
3. Developer's Workshop to COM and ATL 3.0
이 3권이 제일 유명한데,
세권 모두 번역서가 시중에 없더라구요.

결국 3번을 구입하긴 했는데, 전병선씨의
4. Component Development with Visual C++ and ATL 과
3번 책 둘 사이에서 고민 중이네요

3번은 내용이 매우 좋다는 장점이 있는 반면 원서라 빨리 읽히지가 않을테고,
4번은 국내서라서 읽기는 좋지만,, 서평이 거의 악플 일색이더라구요.

혹시 3번이나 4번 중에 읽어보신 책 있으신가요?
아니면 국내서 중에서 추천해주실만한거 추천 좀 부탁드려요.
오래된 기술이긴 하지만, COM 을 모르고는 Windows 프로그래밍을 제대로 안다고 하기가 좀 그렇네요...

drinkme의 이미지

COM 했던지가 근 10년이 다 되가서,
기억이 가물가물 합니다.
읽었던 책 제목도 기억이 안나고요.
1번은 확실히 읽은기억나고,... 2,3,4 가물가물...

원서를 꺼려하신다면,
위의 책 중에서는 전병선씨의 책을 추천합니다.
설명이 쉽게 잘 되어 있고, 번역서 특유의 이질적인 문구가 없습니다.

근데, 지금에 와서
COM을 시작하실 필요가 있는지 잘 모르겠습니다.
COM+ 전체를 본다면, 관련된 '개념'도 너무 많고요.
현재의 windows는 COM을 알아도 '제대로' 안다고 말할려면
너무 방대한 내용이 필요합니다.

bxhs의 이미지

예전에는 컴퓨터 성능이 안좋아서 atl 로 까지 com을 했지만...
요새 같은 세상에 com을 깊이 있게 할 필요가 있는지 의문입니다.
mfc로 하면 그리 어렵지 않게 할수 있거든요..
용량이 1메가,2메가 늘어난다고 해도, 대단한 차이도 아니고요..
액티브엑스도 3,4 메가 정도는 금방받는 세상인데...

그리고 c# 으로 점점 진화해 가면...
com을 예전처럼 많이 쓰지는 않을거 같네요..

저도 inside com 하고 3번 developer's workshop 이 있습니다.
1번은 복사해서 본거고요...
내용은 3번이 좋습니다.
정말로 잘 써져 있습니다.
다 안보고,중간중간 의문나는 점을 찾아보는 식으로 봤는데
하나하나 설명이 깨끗합니다.

하지만, 이제는 안봅니다.
그리고 atl ,com 을 잘 모르지만, com의 고수가 되고 싶지도 않고요..
mfc 로 대강 짤수 있는거에 만족합니다.
한국이 워낙 유행만 쫓는 습성이 있는것도 있지만..
프로그래밍 경향이 atl 로 com을 짜는 시대는
아니라라서 그런게 아닐까 싶네요...
책이 절판된것도 그런 이유일거 같고요...

윈도우 프로그래밍을 제대로 알려면 제프리 리쳐 같은 사람이
쓴 책을 읽는게 낫지 않을까요...
win32api 의 저자 김상형씨도 여러번 읽었다고
강추에 강추를 하시던데요..

freezm7의 이미지

아.. ㅠ.ㅠ MFC 로 짜는게 나았군요...

전 GUI 가 없는 COM 을 짜려다 보니, ATL 이 더 쉬울줄 알았네요.

그럼 MFC 로 COM 짜는데 도움이 되는 기본서 좀 추천 부탁드려도 될까요?

즐겁게 살아 볼까나~*

bxhs의 이미지

글쎄요 낫다기 보다는 집중해서 공부할 필요가 있는지 해서
말씀드린것입니다.

저 같은 경우는 다른 사람 다 보는 눈알책 보고..(김용성씨꺼)
거기에 보면 MFC와 ATL 로 IUnknown부터 시작해서
자동화 ,OLE, ACTIVEX 를 짜는게 나와있습니다.
그리고 다른 비쥬얼 C책들도 왠만한 책들은 다 그런 내용은 있죠..
다만.. 그 어떤 책도 DEVERLOPER'S WORKSHOP 처럼 설명이 잘되어있진않습니다.

실무에서 경험을 보면...
COM을 쓰는경우가 비쥬얼C로는 그저 웹에 ACTIVEX로 만들어서 올리는 정도를 하는데..
이때 COM에 대해서 특별한 지식을 갖출 필요는 없습니다.
그냥 툴 쓰는 법을 조금 알고 인터페이스,프로퍼티,이벤트,메소드 정도만
이해하면 되니까요..
심지어 솔루션 엔진같은 경우도
MFC로 만들어도 이제는 특별히 문제가 없는 세상에 이르렀고요..

COM자체는 프로그래밍에 있어서 바이너리 호환성을 만드는 어떤 기교일뿐이지..
진정한 프로그래밍 알고리즘이라거나..
중요한 자료구조라거나...
뭐 그런게 아닙니다.
더욱이 윈도우 운영체제를 깊이 있게 들여다보는 것도 아니고요...

winner의 이미지

회사다니면서 COM으로 작성된 program을 여럿 보고 있고, 할 줄 몰라서 고생하고 있습니다.
제가 잘 몰라서인지 모르겠습니다만 기존 작성된 COM을 활용한 source들은
좀 주먹구구식으로 만들어진 느낌이더군요. 자료가 적어서인건지도 모르죠.

제가 찾아본 바에 의하면 .NET은 COM의 후신이라고 해도 괜찮은 것 같은데요.
달리 말하자면 COM은 legacy인 듯...

혹시 1, 2, 3을 번역해주신다면 제가 많이 감사하겠습니다.

azura4의 이미지

저 같은 경우는 2번 보고 많이 도움이 되었습니다. (물론 원서)

다 보실 필요 없이 핵심 개념 설명(앞부분?)만 보셔도 충분히 도움이 될겁니다.

기본 원리 모르면 많이 답답하더라구요.

그리고 그후에 다른 국내서나 번역서 보시면 이해가 빨리 되실겁니다.