코딩을 지탱하는 기술 - 원리로 깨우치는 프로그래밍 기법 니시오 히로카즈 지음, 김완섭 옮김 / 비제이퍼블릭 / 2013년 10월 |
-----------------------------------------------------------
생각보다 얇아 쉽게 읽었다.
저자는 여러 프로그래밍 언어의 발전 역사와
문법 기능 비교를 통해 프로그래밍 언어의 주요 개념들에 대해 설명한다.
특정 언어만의 문법을 서술하는 것이 아니라
(사실 문법에 관한 책은 이 책이 아니라도 많잖아)
다양한 언어에서 구현하는 유사한 개념들이 왜 필요하였으며 어떻게 발전하였는지 그리고 현재 어떻게 적용되어 있는지 등 여러 언어를 설명한다.
마치 멀리서 큰 그림을 보는 것 같았다.
새로운 언어를 사용하다 생소한 개념들을 만났을 때
'이 기능을 사용하지 않아도 필요한 건 만들수 있어!' 라며 근자감으로 삽질했던 기억들이 떠오른다.
결국 RTFM(Read The F..king Manual)을 외치며 처음 맞닥뜨렸던 문제로 다시 돌아가게 되었지만.
생소함을 외면하고 익숙한 기능, 문법을 이용해 우회하는 것이 아니라
이해하고 받아드릴 수 있도록 생소함에 대처하는 자세를 배울 수 있었다.
저자는 첫장에서 자신이 어떻게 진행할지에 대해 이야기 한다.
이 책을 다 읽고난 시점에서는 비교를 통한 학습이 얼마나 효과적인지 느꼈다.
초반에는 구문 트리와 goto, if, for, while 등
대게의 프로그래밍 언어들이 갖고 있는 기본적인 문법에 대해 이야기하며
중반의 7장 '이름과 스코프'에서의 동적 스코프와 정적 스코프에 대한 내용은 머리속에 꽤 오래 남았다.
8장 형(型)을 설명하는 장에서는
'형은 곧 사양이다'는 말에 살짝 놀랐고
(사실 생각없이 습관처럼 int, float, bool을 쓰고 있었기에..)
9장 앞부분에서는 컨테이너(배열, 연결리스트)와 해쉬테이블을 함께 이야기 한다.
9장 뒷부분 문자열 설명 부분은 조엘 온 소프트웨어의 유니코드 파트를 보는 편이 더 나을 것 같았다. 유일하게 만족 스럽지 못했던 부분.
책 후반 11장, 12장은 객체지향과 클래스에 대해서 이야기 한다.
각 언어들마다 정의하는 객체 지향과 객체 지향을 표현하는 방법을 보여준다.
그러면서 짧게나마 클로져에 대해 언급하는데 짧은 내용이었지만 쉽고 거부감 없이 이해할 수 있었다.
(이게 역사와 비교를 통한 학습의 효과인가 싶었다.)
클래스의 극단적인 두 역할에 대해 이야기 한다.
어떤 언어에서든 클래스를 사용할때마다 들었던 의구심이
이 극단적인 두 역할 때문이 아니었나 싶었다.
'책 & 영화' 카테고리의 다른 글
[책] Learning TensorFlow 러닝 텐서플로 (0) | 2018.05.25 |
---|---|
[책] 나미야 잡화점의 기적 - 홀린듯이 읽었다. (0) | 2017.05.22 |
[책] 만들면서 배우는 워드프레스 - 워드프레스로 시작하는 웹사이트 제작 (1) | 2017.05.03 |
[책] Make: 액션 - 뉴비 메이커(Maker)들을 위한 입문서. (0) | 2017.03.04 |
드라마 도깨비를 최종화 까지 보고. (0) | 2017.01.21 |
또라이들의 시대 - 낙타유와 엄친아(?) 이야기. (0) | 2016.10.10 |
영화 마션(Martian) - 화성을 해킹 해가는 거대한 과정. (0) | 2015.10.09 |
마션(The Martian) - 컴퓨터 또라이가 마션을 읽고서. (0) | 2015.09.23 |