ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 내공 있는 C 프로그래머가 되고 싶다면? - Head First C (한빛미디어,2012)
    Daily NoPD/rEvieW 2012. 12. 23. 22:22
    728x90
    요즘 대학교에서 컴퓨터나 전산 전공을 하면 어떤 언어를 주로 다루나요? 언뜻 여기 저기서 들었던 이야기로는 자바를 비롯하여 웹과 관련된 언어를 많이 배운다고 들었던 것 같습니다. 그런데 자바든 C# 이든, 혹은 Objective C 든 결국은 C 언어에서 기원한다는 것을 잊으면 안될 것 같습니다.

    한빛미디어의 Head First 시리즈로 새롭게 출간된 "Head First C"는 그냥 그럭저럭 C 언어를 알고 있는 사람, C 언어는 구닥다리라고 생각하는 사람들의 생각을 바꿔줄 멘땅에 헤딩하는 Head First 시리즈의 C 버전 책자입니다. C 라면 손사레를 치면서 포인터의 괴로움을 먼저 생각하시는 분들이 있을지도 모르겠습니다만 이 책은 Head First 특유의 위트로 재미있게 이런 이야기들을 풀어 나갑니다.


    책을 읽어보기 위해서 개발 환경을 설정하느라 오랜 시간을 보내지 않도록 cygwin 등을 이용하여 gcc 컴파일러를 이용할 것을 권장하고 있습니다. 비주얼 스튜디오를 설치하고 별도의 개발 환경을 만드느라 고생할 필요가 없습니다. 아니, Head First 시리즈이기 때문에 그래서도 안됩니다. 가오가 떨어져 보이는 CLI (Command Line Interface) 라고 생각하면 절대 오산. 가장 근래의 C11 표준까지 지원하는 cygwin 하나면 개발환경 준비 Okay 입니다!

    C 언어를 공부하면서 읽었던 책들은 하나같이 C언어의 기원을 이야기하고 변수와 자료형 등에서부터 이야기를 풀어 나갑니다. 하지만 HF 시리즈가 괜히 HF 시리즈가 아닙니다. 샘플 코드 몇가지로 그런건 대충 그렇구나~ 하고 넘어가면 됩니다. 대신 2장부터 치고 나오는 포인터의 바다에 푹 빠져야만 책의 재미를 느낄 수 있습니다.

    C 언어는 전통적으로 하드웨어 제어에 강합니다. 대학을 다니던 시절을 생각해봐도 C 를 잘하는 친구들은 하나같이 하드웨어 제어를 목적으로 하는 학과소모임에서 활동하고 있던 것이 그를 반증해 줍니다. 그래서 저는 그 소모임이 아니었다는 슬픈 이야기도 들려오지요. 책이 200 페이지가 넘어가면서 지루해질 즈음, 요즘 장안의 화제인 아두이노가 등장합니다. 맨땅에 헤딩할려면 제대로 하라는 이야기로 들립니다. 아두이노의 습도 센서를 이용한 화분 습도 체크 예제는 C 를 이용해서 하드웨어 제어를 꼭 마우스나 라인트레이서로 할 필요 없다는 이야기를 해주는 것 같습니다. 시대가 바뀌니 하드웨어 실습 예제도 업그레이드! 뒤이어 후반부에 나오는 OpenCV (Open Computer Vision) 예제는 오픈 소스 라이브러리를 이용하여 하드웨어를 제어하는 것의 재미를 느끼게 해줍니다.  

    이 책은 개요서도 아니고 바이블도 아닙니다. C 에 대하여 왠지 무료함을 느끼고 있는 분들이 C 의 핵심 요소들을 재미있게 되짚어보고 최신의 하드웨어 제어 라이브러리와 키트 (KIT) 를 이용하여 재미있는 실험을 하고 싶도록 만들어 C 에 대한 학습 욕구를 극대화 해주고 있습니다. 

    근래의 언어들은 GC (Garbage Collector) 와 같은 자동화된 기술로 개발자에게 많은 편리함을 주고 있습니다. C 는 그런 측면에서 분명 구닥다리일지 모르겠습니다. 직접 메모리 관리를 해야 하고 포인터를 잘못 지정하면 다른 변수나 상수 영역을 침범하여 쓰레기 데이터를 만들고 프로그램이 멈추도록 할 가능성도 많습니다. 그럼에도 불구하고 C 는 GC 와 같은 것들이 이면에서 하는 일을 보다 잘 이해하게 해주고 명품 코드를 만들어 낼 수 있는 필수 학습 코스임은 분명합니다.

    C. 왠지 정복하지 못한 것 같았다면 멘땅에 헤딩하듯 이 책 한번 훌! 읽어 보는 건 어떨까요?

     
    - NoPD - 
    728x90
© 2019, NoPD