아리랑3호 위성 지상시험 SW 개발, 조종사 훈련용 비행 시뮬레이터 SW 개발, 항공기 유지보수 SW 개발 등 국방/우주 분야를 거쳐 현재는 KTDS에서 텔콤 분야 시스템 개발/운영 업무에 몸담고 있다. GoDev 멤버로 활동하며, 틈틈이 Essential C# 시리즈를 포함한 프로그래밍 관련 서적을 번역하고 있다.
어느덧 C#이 세상에 나온 후 강산이 바뀌고도 한참의 세월이 흘렀습니다. 어린 시절의 나에게 가장 큰 영향을 끼쳤던 두 가지 언어인 베이직과 C의 경우에는 아쉽게도 그러지 못했지만 C#의 경우에는 출현부터 현재에 이르는 과정을 먼 발치에서 지켜볼 수 있었는데, 이처럼 훌륭한 저서를 접하고 또 소개할 수 있는 기회를 가지는 행운까지 만끽하게 되었습니다.
우리가 태어나서 앞 세대로부터 교육을 받으며 자라나 더 나은 세대가 되고자 노력하고 또 그렇게 꾸준히 무언가를 이루어가며 살아가는 것처럼, 프로그래밍 언어도 마치 생명체와 같이 탄생, 학습, 성장 등과 같은 생명 주기를 지니는 것으로 본다. 물론 이러한 생명력을 부여하는 존재 또한 역자나 독자와 같은 인간이기에 프로그래밍 언어가 생명체라고 정의할 수는 없지만, 어떤 면에서는 그렇기에 더욱 인간적인 면들이 프로그래밍 언어에 나타나는 것은 아닌가라는 생각도 해 봅니다.
C#은 이제 어느 정도 성숙한 느낌을 주는 언어가 되었습니다. 앞서 나온 언어들에서 구현된 많은 면을 그대로 계승해 좋은 점을 발전적으로 이어 나가면서, C#의 강점 가운데 하나로 꼽는 높은 생산성마저도 꾸준히 개선해 나가고 있습니다. C#의 단점이라면 한 번 C#을 경험한 프로그래머가 이전에 쓰던 언어로 돌아가기가 쉽지 않다는 점 정도가 아닐까 합니다.
이처럼 발전을 이뤄낸 모습을 지니고 있지만, 초기보다 불가피하게 덩치가 커지고 복잡해졌습니다. 그래서 C#을 제대로 알고 사용하려면 어쩔 수 없이 더 노력해야 하게 되었는데, 이는 개발자에게 부담으로 작용합니다. 다행히 '제대로 알고 정확하게 사용'하는 데 도움이 될 멋진 지침서 가운데 하나가 바로 지금 여러분의 눈앞에 있다고 감히 이야기 하고 싶습니다. 책을 번역하면서 개발자인 저로서도 수년간 당연시하며 사용하던 코드의 내막들을 깨닫고 고개를 수없이 끄덕였습니다. C#을 닷넷의 일부가 아닌 언어 자체로 보고 언어에 대한 탐구를 즐기고자 하거나 초급에서 벋어나 중/고급 개발자를 향해 열정을 불태우고자 한다면 이 책이 큰 도움이 될 것이라고 믿습니다.