Inside C#, Modern C++ Design

Inside C#, 2nd Edition

C# Programming Language에 관한 책이다. 사실 .Net Framework에 대한 내용도 상당히 포함되어있기 때문에, Language를 배우기에 좋은 책은 아니다. 그럼에도 불구하고, C#의 여러 언어적인 요소와 CIL(Common Intermediate Langauge; aka MSIL)을 비교하면서 작동원리를 설명해주기 때문에 C# Programming Language의 구현 방식을 약간이나마 들여다볼 수 있는 점은 이 책의 미덕이다. 번역은 엉망인 편이다. (10점 만점에, 초반은 4점 중반은 0점, 후반은 5점 정도?) 아르바이트 생들에게 시키고 한번도 제대로 읽어보지 않은 정도의 퀄리티. 읽어보면서 내가 직접 수정하면서 읽어간 곳만도 한 스무군데 정도 되는 것 같다. 요즘에 번역서를 몇권 보면서 신뢰를 약간 얻어가는 중이었는데, 이 책을 보고 다시 실망해버렸다. 따라서 이 책을 읽고자 하는 사람은 차라리 원서를 보기를 추천한다.

참고로, C# Programming Language를 공부하고 싶다면 이 책보다는, O’Reilly사의 Programming C#, Third Edition과, C# Programming Language의 아버지인 Anders Hejlsberg가 쓴 The C# Programming Language를 추천한다.

 

Modern C++ Design

Modern C++ Design은 template의 사용에 관한한 최고의 책이라고 한다. template이 어디에 쓰는 건지 모르겠다면 Modern C++ Design은 template을 사용해서 구현할 수 있는 모든 technique을 보여줄 것이다. (from http://www.lastmind.net/tWiki/bin/view/Main/SoftwareDevelopmentBooks)

현재 읽고 있는 책이다. 현재 Chapter 6를 읽고 있는데, 이번 달 안에 끝낼 생각. 번역은 C++ In-Depth 시리즈를 통틀어서 그렇듯이, 만족스러운 편이다. Template parameter를 Strategy로 사용하는 idiom을 Chapter 1에서 소개하고, Template을 사용하는 자잘한 techniqueue을 Chapter 2에 모아두었다. 이어서 Template을 이용해서 구현하는 굵직굵직한 주제들이 나온다. Typelists, SmallObjAllocator, Generalized functor, Singleton, Smart pointer, Object Factory, Abstract Factory, Visitor, Multi Method가 그것들인데, 잘 알려진 패턴이거나 현재 Library TR에서 adopting 중인 것이기 때문에 어쩌면 이미 잘 알고 있는 사람도 있을 것 같다. (저자인 Andrei Alexandrescu가 CUJ의 고정 칼럼 필자이기 때문에, CUJ에서도 이미 다루어졌던 주제들이 많다.) 어떤 것들은 이것이 쓸모가 있는가 싶을 정도인 것도 있고, 어떤 것들은 당장 내 코드에 반영할만한 것들도 있고, 또 내가 직접 구현해보고 싶은 것들도 있다. 확실히 template을 잘 쓰고 싶은 사람이라면 한번쯤은 거쳐가야할 책인 듯 싶다.

 

(참고로 이 글은 요즈음 만들고 있는 MovableTypeWriter로 작성한 글.)