후기 /일반 독서

[독서] 행복한 프로그래밍

inspire12 2017. 1. 1. 00:35

다른 사람들은 프로그래밍이라는 단어를 보면 어떤 이미지가 먼저 떠오를까?


창조? 첨단 기술? 야근과 버그? 어려운 것?


이 책의 서문에서 그런 이미지가 아닌, 프로그래밍이라는 단어 보다 "행복한" 이라는 단어에 초점을 둔다(고 했지만 결국 프로그래머로서의 행복)


프로그래머로서의 행복은 '프로그래머라면 누구나 느끼기 마련인 프로그래밍이라는 행위 안에 담겨있는 행복이나 매력' 이라고 했는데, 코딩을 하면서 그런 감정을 조금은 느껴본 적이 있어서 뭔가 이 부분을 읽으면서 기분이 좋았다.


그런 감정을 못 느껴본 사람도 이 책을 읽고 코딩을 공부하면 같은 감정을 가지게 될 것이다. 

저자 자신의 경험과 컴퓨터 역사를 바탕으로 프로그래머가 가질 지식과 지혜를 잘 전달해주는 책이다.


동아리에서 교육을 계획 중인데 이야기 전개나 설명, 예시 모든 부분에서 도움이 될 거 같다. 


일단 1장의 성취감의 본질이란 파트가 좋았다. 수수께끼를 제시하는데 여기에 사용되는 논리가 컴퓨터 세계에서 알고리즘이라고 불리는 생각을 끌어내는 부분이다. 

해답 중에 하나에서 그치는 게 아니라 그보다 최적을 생각해보는 것이다. 최적이 없을 수도 있다. 그러나 생각해 보는 것, 그게 내가 교육에서 해야할 일이 아닐까 싶다. 


그 이후, 컴퓨터의 본질 중 하나인 이진수 이야기에서 컴파일러를 거쳐, Y2K 공포(2000으로 옮겨가며) 메모리를 설명 하는 것이 자연스럽고 쉽게 이해되었다. 


그 이후 NP 문제와 알고리즘의 효율성을 이야기하고, 암호와 보안에 대해 이야기를 한다. 그 이후 좋은 코드에 대해서 이야기하고, 웹을 끝으로 책은 마무리 된다. 


 꼭 책을 읽어 보는걸 추천한다. 소재를 뽑아내면서 리뷰가 딱딱하게 보이겠지만, 책은 이 모든 걸 자연스럽게 예시와 글 안에 스며 넣었고 강요하지도 않는다. 그러나 수긍하게 된다.



-------------------

내용과 별개로 인상 깊었던 부분 


컴퓨터는 본질적으로 첨단 기술을 다루기 때문에 수학, 공학이다. 


"사회 과학이나 인문학을 공부하는 사람과 수학을 공부하는 사람 사이에 큰 차이가 있는데, 바로 '논쟁'의 유무다. 사회과학이나 인문학은 사람과 사람 사이에 존재하는 뜨겁고 구체적인 가치관의 문제를 다루기 때문이다! 사람의 가치관은 이것만이 옳다고 주장할 수 있는 기준이 없다. 가치 문제이다. (그래서 논쟁엔 다른 사람의 선택을 무시하지 않고 깊이 존중 해야한다.) 그러나 수학은 논쟁이 필요없다. 증명이 맞으면 맞는 것이고, 틀리면 다시 맞게 만든 다음 가지고 오면 되는 것이다."


 그러나 수학과 다른 점은 혼자서는 할 수 없다는 것이다. 


지만, 사람들과 밀접한 관련이 있기 때문에 인문학적인 이해도 필요하다.



반응형