언제나 C언어 시작합니다.

안녕하세요. 언제나 휴일의 언휴입니다.

최근에 Python, Google Go, R언어 등 새롭게 뜨고 있죠.

그럼에도 C언어는 50년 가까이 자기 자리를 굳건히 하고 있네요.

중학생이 facebook의 프로그래밍 관련 학습 그룹에 C언어 관련 학습 질문이 올라 온 것이 있었습니다.

자신은 카이스트 IT 교육센터에서 C언어 특강을 받고 있는데 어떻게 학습해 나가면 좋은지 질문하더군요.

그런데 어느 한 분께서 왜 Python으로 가시지 C언어를 선택했냐고 답변을 올리더군요. 지금이라도 Python을 선택하라고 조언을 하는 것을 보고 깜짝 놀랐습니다.

아마도 그 분은 Python의 강력함에 빠지신 것 같아요.

Python으로 프로그래밍 할 때 이미 제작한  라이브러리를  이용하여 필요한 것을 쉽게 만들 수  있다는 점에 매력에 빠지셨을 거예요.

하지만 C언어가 50년 동안 자리를 잡고 있고 여전히 가장 핵심적인 자리에 위치하고 있죠.

Back-end (서버) 측 작업이나 핵심 알고리즘을 구현하는 곳은 여전히 C언어를 사용합니다.

여전히 많은 실력있는 엔지니어들은 C언어로 프로그래밍을 하고 있죠.

(실제 프로그래밍 언어는 선택의 문제이지 엔지니어를 제약하는 구속물은 아닙니다.)

많은 사람들은 C언어가 문법이 어렵다고 얘기를 합니다.

사실 C언어의 문법은 아주 간단합니다. 30여 가지 연산자와 30여 가지 키워드로 구성하고 있어요.

이렇게 단순한 문법을 갖는 C언어로 의미 있는 결과물을 만드는 것이 어렵다고 느껴서 나온 말인 것 같아요.

결국 C언어 문법이 어려운 것이 아니라 C언어로 프로그래밍 하는 것이 어렵다고 볼 수 있겠죠.

C언어가 Unix System에서 동작 가능한 프로그램을 만들기 위한 목적으로 만들어서 밑바닥(Low Level)까지 이해할 필요는 있죠.

여러분들도 그 정도 수준까지 가면 C언어는 여러분에게 자유롭게 창작할 수 있는 매력을 선사해 줄 거예요.

그리고 그 수준까지 가는 길도 재밌고 행복하게 나간다면 멀지 않은 시기에 C언어의 매력에 빠질 거예요.

언제나 C언어의 집필은 기존 C언어와 다르게 진행해 볼까 합니다.

최근에 뜨고 있는 언어들의 문서나 강좌를 보면 문법보다 실제 해당 언어로 만드는 프로그램에 자주 사용하는 기술 중심으로 집필하더군요.

언제나 C언어도 집필 방향을 이들처럼 실제 필요한 프로그래밍을 중심으로 작성해 나갈게요.

이 책의 내용과 더불어 다양한 경험을 통해 컴퓨터 프로그래머를 꿈꾸는 많은 이들에게 도움이 되길 기원합니다.