해커와 화가 - 폴 그레이엄 지음, 임백준 옮김/한빛미디어 |
저자의 통찰력에 깊은 인상을 받았다. 스타트업 기업을 만들어 야후에 성공리에 인수 합병 시킨 경험들 속에서 그가 터득한 것들을 이야기 하는데, 언어 뿐만이 아니라 프로그래밍, 공부, 돈, 회사 등에 대해서도 독특한 시각을 가지고 있다. 책을 읽으며 줄을 그어 놨던 몇 구절들을 인용해본다.
프로그래밍 언어는 당신이 이미 머릿속으로 생각한 프로그램을 표현하는 도구가 아니라, 아직 존재하지 않는 프로그램을 생각해 내기 위한 도구다. - 2. 해커와 화가
사람들이 이 부분에서 길을 잃고 혼란스러워 하는 까닭은 돈을 추상화시켰기 때문이다. 돈은 부가 아니다. 돈은 단지 부를 움직이기 위한 수단에 불과하다. 그렇기 때문에 다른 사람과 교환할 수 있는 화폐 양이 어느 일정한 순간에는 일정한 분량으로 정해져 있다고 해도, 세상에 존재하는 부의 크기는 일정한 값으로 정해져 있는 것이 아니다. - 6. 부자가 되는 법
어떤 부분에서는 조금 독선적이라고 느껴졌던 것도 있었지만, 글에 스며있는 깔끔한 논리가 부족한 부분을 잘 채워주는 것 같다.
미래의 프로그래밍 언어에 대한 이야기를 하는 11 장이 특히 재미있었다.
비효율적인 소프트웨어가 그 자체로 엉터리인 것은 아니다. 진짜 엉터리는 프로그래머에게 불필요한 일을 하도록 강제하는 언어다. 기계의 시간이 아니라, 프로그래머의 시간을 낭비하는 것이 진짜 비효율성이다. 컴퓨터의 속도가 더 빨라질수록, 이러한 사실은 점점 더 명확해질 것이다. - 11. 100 년 후의 프로그래밍 언어
옳은 말이다. 하드웨어의 속도는 지금껏 그랬듯이 그 때 까지도 빠르게 증가할 것이고, 그 환경에서는 프로그래밍 패러다임이 지금과는 많이 달라져 있을 것이다. 그렇기에 표현력이 좋은 언어, 익숙하지 않은 언어를 하나 정도는 꼭 익혀봐야 될 필요가 있다.
문제의 하나는 어떤 언어를 오랫동안 사용하면, 어느 순간부터 사고 자체가 그 언어로 이루어진다는 사실이다. 이런 상황이 되면 실질적으로 다른 내용을 가지고 있는 언어는 그게 어떤 모습을 가지고 있든 상관없이, 본질적으로는 잘못된 것이 아무것도 없음에도 불구하고, 터무니없는 엉터리 언어로 보이게 된다. 경험이 부족한 프로그래머들이 언어에 대해서 내리는 판단은 종종 이러한 심리적 효과에 의해서 왜곡된다. - 10. 프로그래밍 언어에 대한 설명
책을 읽고 난 결론. "SICP 좀 더 열심히 봐야 겠다."
프로그램은 오직 사람이 읽기 위해서 작성되어야 한다. 컴퓨터가 그것을 실행하는 것은 부차적인 일이다. - SICP