Hard way is the right way


한국인이라면 문화적 여건상 어쩔수없이 C언어로 시작하게 될거라 본다.
여기서 두가지 선택이 있는데, 하나는 응용을 해보면서 배운걸 십분 활용하는거고 다른 하나는 다른 이론적 내용을 배우면서 개괄적 기틀을 다지는거다.
C언어는 태생이 유닉스와 함께였기 때문에 유닉스를 빼놓고는 말을 할 수가 없다. 그러므로 응용을 통해 지식을 확장하는 방법은 유닉스 시스템 프로그래밍을 배우는것이다. CS:APP이라고 한때 이 갤에서 유행했던 책이 있는데 아주 유익하다. 이것을 보면서 공부해라.
또 한가지는 c언어를 통해 배운 기초 프로그래밍 개념을 토대로 프로그래밍 그 자체에 대해 더 배우는 것이다. 주로 모듈화 프로그래밍, 자료구조, 기초 언어론 등이 그런 개념세 해당하는데, 이 또한 이 갤에서 한 때 유행한적 있는 책 중 하나인 SICP라는 책에서 다룬다. 이것을 보면서 공부해라.
자바? C++? 그런건 배운티나 내보려는 겉멋든 애들이 초짜들에게 혼선 주기 딱 좋은 코스로 추천하는 것들이다. 그런 언어들은 대체로 기초지식만 갖춰지면 하루이틀이면 배울수 있는 것들이다. 언어만 많이 알고있는 새퀴들, 혹은 문제풀이만 존나게 해본 온실속 화초들에게 쫄지마라. 걔네가 추천하는건 자기네 길에 접어들기 위한 빠른 입문으로서 추천할 뿐이지 컴공이라는 큰 줄기를 따라가는데는 방해만 될것이다.
두가지만 기억하자. CS:APP 그리고 SICP