이 책을 읽는 방법

이 책은 1장부터 19장까지 서로 다른 주제의 글을 엮은 책이다. 각 장의 주제는 독립적이면서도 서로 유기적으로 연결되어있다. 어떤 장을 읽다가도 그 내용이 다른 장과 연결되어 있음을 자주 볼 수 있을 것이다. 이렇게 연결된 개념을 머릿속에 네트워크로 연결해보기 바란다. ‘개념 망’이라고 생각하면 좋을 것이다. 먼저 여기에서는 1~9장까지의 내용이 어떻게 연결되는지 알아보고, 10~19장까지의 내용이 어떻게 연결될지 간략하게 알아볼 것이다. 


대단히 그럴싸해 보이는 네트워크 (www.pixabay.com - 작가: bella67)


‘1장 - 황소’는 이 책을 관통하는 주제인 ‘추상화’에 대해 다루었고, 2장부터 9장까지는 무엇을 어떻게 추상화하는지 알아보았다. ‘2장 - 값은 값지다’와 ‘3장 - 만약에 만약이 없다면’에서는 무엇이 추상화되는지를 다루었다. ‘4장 - 몸짓에서 눈짓으로’와 ‘5장 - 지도와 비둘기’에서는 어떻게 추상화를 하는지를 밝혔다. '6장 - 객체 지향을 믿으십니까?'와 ‘7장 - 도를 아십니까?’에서는 우리가 살아가는 세상 속의 개념이 어떻게 객체지향 패러다임으로 추상화되었는지를 살펴보았다. 그리고 ‘8장 - 지금은 틀리고 그때는 맞다’와 ‘9장 - 게으름에 대한 찬양’에서는 우리 주변의 개념과 함수형 프로그래밍 패러다임이 어떻게 연관하여 추상화되었는지 알아보았다.

10장부터 19장에 이르는 동안에는, 앞으로 우리가 소프트웨어를 개발함에 있어서 사용할 수 있는 추상화 도구들을 살펴보았다. 먼저 10장부터 14장까지, 소프트웨어 개발과 전혀 관련이 없어 보이는 문학, 철학, 미학, 예술 등을 추상화 도구로 활용하는 방법을 고민해 보았다. 이 도구들은 코드의 복잡성을 다루는 데 사용된다. 그 다음 15장부터 19장까지, 독자 여러분이 평소에 사용하던 소프트웨어 개발 지식을 다른 각도로 살펴보고, 더 넓은 시야를 얻기 위해 노력하였다.