C언어는 많은 사람들이 들어봤을 거라 생각한다.
나이에 상관없이 공학을 전공한 사람들은 C언어가 뭔지는 들어봤을 것이다.
C언어는 데니스 리치라는 천재에 의하여 개발되었다. 그는 하버드 물리학과 응용수학을 전공하고 학부를 졸업하였다. 그리고 자신은 물리학자가 될 만큼 영리하지 못하다고 생각하였다 (?) 는 충격적인 기록이 있다.
그는 하버드에서 "Program Structure and Computational Complexity" (프로그램의 구조와 컴퓨터적 복잡도)에 대한 박사 논문을 쓰고 있었으나 박사학위는 받지 못했다. 하버드에 논문을 제출하지 않았기 때문이다. 2020년도 컴퓨터 역사 박물관에서 데니스 리치와 그의 지도교수의 유족들과 협력하여 그의 남겨진 논문을 발견했다고 한다. (여기서 또한번 놀란다.)
지루한 C언어와 달리 C언어의 역사는 시작부터 흥미롭다.
2011년 71세의 나이로 작고한 데니스 리치는 겸손하고 성실한 연구자였을거라 추정된다.
왜냐하면 우리는 그의 학문적 성취보다 업적에 대하여 영원히 기억할 것이기 때문이다. 대중들이 잘 모르는 이름이지만 그의 업적은 오래전부터 우리의 미세한 삶에 녹아있다는 것을 부인할 수 없다.
호랑이는 죽어서 가죽을 남기고 사람은 죽어서 이름을 남긴다는 말이 틀린 것 같다. 사람은 죽어서 이름을 남길 필요가 없다. 그의 소산물은 인류에게 상속한 것이다. 비즈니스 인사이더에서는 현재의 애플 컴퓨터는 거의 모두 데니스 리치의 업적에 기반하고 있다고 평가했다. 데니스가 유닉스를 만들었고 C를 만들었다. 매킨토시의 OS X와 아이폰의 IOS도 유닉스를 기반으로 했으니 과언은 아닐 것이다.
운명인지 우연인지 데니스리치의 사망 정확히 일주일 전에 스티브 잡스도 세상을 떠났다. (미국 저승사자들이 두 거물을 일주일 단위로 데려가다니 ㅠㅠㅠ)
보통 천재들이 학계에서 갖는 파워는 막강하다. 자신은 그럴 재목이 아니라고 스스로를 낮춰 벨연구소에서 개발한 언어가 C이다. 그래서 순도가 높은 언어일 수밖에 없다. (물론 벨연구소도 미국 최고 천재들의 소굴이다)
*데니스 리치와 Unix를 개발한 켄톰슨의 인터뷰
오픈소스 OS 리눅스의 창시자 리누즈 토발즈는 C언어가 OS를 위한 가장 최적의 언어라고 이야기하며, 지금도 C언어로 프로젝트를 진행하고 있다. 리누즈 역시 데니스 리치의 C언어를 이어받아 세상을 바꿔놓은 대가이다. (인기는 이 양반이 더 높다)TED의 인터뷰에서는 본인은 지금도 혼자 PC한대 놓은 사무공간에서 일한다고 한다.
C언어의 교재에 항상 들어가 있는 말들이 있지만 그건 너무 많이 들은 말들이니까 이 포스트에서는 간략하게 줄인다.
C기초플러스에 따르면 C언어의 장점은 효율성,이식성,강력함, 프로그래머 지향성 등등이라고 하는데 C언어를 시작하겠다고 지금 막 마음먹은 사람에게는,
한마디로 엄청난 언어라는 것만 알면 충분하다. 예전에는 대학에서 배울 수 있는 언어의 종류가 많지 않아서 꼭 C를 배워야 했다. 그리고 대학에 입학했을 때 이미 C를 거의 마스터한 사람도 있었다. (닷넷프레임워크 같은게 없었던 시대의 기준으로)
항상 느끼는 것이지만 C는 일반인들이 재미없어 한다. 왜그럴까? 나름의 결론은 C는 천재들이 좋아하는 언어라는 것이다. 이것은 천재들이 장난감이다. 그러니 뇌구조가 다른 일반인에게는 재미가 없을 수밖에...
만든 사람도 천재, 이어 나가는 사람도 천재,, 즐기는 사람도 천재... 이런 세상이네 하고 푸념이 나온다 ㅠㅠ 그러나 보통 사람이 피카소나 고흐 같은 천재 화가의 그림을 즐길 수 있는 것 처럼, 모짜르트와 베토벤의 클래식을 감상할 수 있는 것처럼 데니스가 만든 C의 작품세계도 충분히 감상할 수 있다. 심지어 리누즈 토발즈 같은 후발주자가 아직도 현역으로 뛰고 있다! 는 것은 고무적이다.
우리나라는 별로 못느끼지만 영어권의 코딩 유튜버들은 상당한 인기를 얻고 있다. 그냥 코딩을 하는게 아니라 엔터테인먼트 방식으로 접근해서 친근하게 다가온다. 1인 스팀 게임을 홍보하거나 온라인 강의를 하여 상당히 상업적으로도 성공하고 있다.
*마유코의 코딩 시작하는 법
아직까지 한국의 코딩 유튜버들을 보면 상당히 보수적이고 경직된 느낌으로 접근한다. 유튜브에서는 그런게 먹히지 않지만 사람이 어느날 갑자기 변하기가 쉽지 않다. 물론 많이 재미있어졌다. 그래도 일반대중이 즐기기에는 아직 무리다. 안타깝지만 우리나라 공교육의 문제라고 본다. 신나게 자발적으로 공부를 해본 사람이 별로 없다. 성적 등수를 높이는 경쟁에서 승리의 쾌감은 중요시하는데 그 자체의 재미를 온전히 보지 못한다.
데니스리치와 C언어는 세상을 변화시켰다. 그런데 딱히 데니스 리치나 켄 톰슨(유닉스의 공동 개발자)은 세상에 이름을 떨치려고, 대단한 일을 하려고 한 것 같지는 않다. 그저 자신들이 하는 일이었던 것이다.
상업적인 성공을 거둔 사람은 MS의 빌 게이츠와 애플의 스티브 잡스이다. 우리는 그 두 회사가 만들어놓은 진보한 세계를 살아가고 그들은 천문학적인 수익을 벌어 들였다. 그 수익을 뒷받침 하게 만든 것은 데니스 리치의 C언어와 켄 톰슨과 함께 개발한 유닉스 였다. (유닉스의 언어는 C언어이다 -리눅스도 같다)
C언어를 시작하기 전에 C언어가 어떤 사람들에 의해서 쓰여졌는지 그리고 어떻게 지금 세상에 연결되어 있는지 알고 시작하면 지루한 C언어의 문법도 조금은 더 납득할 수 있을 것이다.
아니면 C언어가 매우 쉽고 재미있다는 당신이라면? 그쪽 꽈 사람들이니까 빨리빨리 저들이 지나간길로 뛰어가면 될것이다. 재미있게 즐기고 거인의 위에서 넓은 세상을 사람들에게 보여주길 바란다. (아이작 뉴턴)
*마지막으로 추천 교재는 C기초 플러스 6판이다. 단, 이 책을 보기전에 C 입문서 아무거나 한권만 띄고 시작하길 바란다.
http://www.yes24.com/Product/Goods/57614028