[독서기] 프로그래밍 패턴 | Exercises in Programming Style

프로그래밍 패턴 | Exercises in Programming Style

비교적 배우기 쉬운 인터프리터 언어를 학습하는 것만으로 전에는 상상할 수 없었던 많은 일들을 해 낼 수 있다. 코드의 매력이다. 하지만 체계적으로 컴퓨터에 대해 공부한 적 없는 이들에게 코딩 학습은 숲을 보지 못하고 나무를 하나 하나 살피는 지루한 일이 될 수 있다.

나 또한 인터프리터 언어를 처음 접할 때 머리가 복잡했다. 스콥은 뭔지, 왜 클레스를 만드는 건지, 클로저는 뭔지, 코드와 DB는 어떤 관계에 있는 건지 …. 많은 삽질을 거듭하면서 차차 알게 되었지만 적지 않은 시간이 필요했다. 코딩에 관심이 깊어지면서 지금은 하스켈 같은 함수형 언어나 C와 같은 컴파일 언어에 관심이 생겼지만, 단순한 관심 많으로 돌파하기에는 내용의 벽이 너무 두꺼웠다.

2017년에 C를 공부하기로 마음먹었지만, 지루하기도 했거니와 지금 할 줄 아는 언어를 더 능숙하게 사용하는 편이 유익하지 않을까 하는 생각에 책을 덮었다. 그러던 차에 이 책을 읽게 되었다. 처음에는 ‘패턴’이라는 말에 현혹(?)되어 사게 되었는데, 낚인 것 치고는 소득이 많았다. 이 책은 텍스트에서 단어 빈도를 측정하여 출력해 주는 task를 무려 33가지 방법으로 보여준다. 무작정 보여주는 것이 아니라 초기 메모리가 부족했던 시대에 코딩 방식에서부터 분산처리를 위한 코딩 스타일까지 하드웨어의 발달과 기술적 제한에 따라 어떤 방법들이 제안되었고 그에 따라 코드의 모습은 어떻게 바뀌었는지 실례를 통해 보여준다.

글쓰기의 가장 좋은 방법은 좋은 글을 따라 써 보는 것이고 한다. 이 책 엮시 문체에 대한 저작에서 아이디어를 얻어 기획된 책이라고 한다. 저자가 권한 바는 아니지만, 책에 실린 코드들을 타이핑하고 실행해 보며 따라가다 보면 프로그래밍에 대한 이해가 한 층 더 깊어질 것이다.

본문 예제는 python으로 되어 있지만, 프로그래밍 기본 지식이 있는 독자라면 큰 문제가 되지 않을 것이다. 자신이 익숙한 언어로 33가지 스타일을 재현해 보는 것도 좋은 공부방법이 될 듯하다.

... ... ... ...
Back