본문 바로가기

프로그래밍을 공부할 때 어떤 교재를 선택해야할까?

학부생 시절 프로그래밍을 공부할 때 책이란 책은 대부분 구매를 했던 것 같다.

예를 들어서 Java를 공부한다고 가정했을 때 '이것이 자바다', '자바의 정석', '난 정말 Java를 공부한 적이 없다구요', 'Just Java'

등 여러 책을 구매했다. 이렇게 구매를 해서 읽게 된 이유는 예를 들어 '이것이 자바다'를 읽다가 이해 안되는 부분이 나왔고 그 부분에 대한 설명이 없을 때 다른 교재를 읽다보면 그 이해 안되던 부분에 대한 설명이 적혀있을 것이라고 생각했기 때문이다.

그래서 단순히 java만을 공부하기 위해 여러 java책들을 읽어본 결과

"내용이 크게 차이가 없다" 였다.

위의 교재들은 페이지가 얼마 안된다고 볼 수 있다. 이것이 자바다, 자바의 정석 등과 같은 교재들의 경우 페이지수가 1000페이지가 넘지만 대부분이 소스코드로 페이지가 채워져있어 개념 공부에 있어 부족함이 있다.

 

C++을 공부할 때도 마찬가지였다. 

'윤성우의 열혈 C++'과 같은 책들도 개념이 많이 부족했다. 그러다가 'C++ 기초 플러스'라는 책을 읽어보게 되었다. 페이지 수는 2000페이지정도 되었고 페이지가 개념글로 꽉꽉 차있는 책이었다. 이 책을 다 읽고 났을 때 단순히 책에 나와있는 소스코드대로 타이핑했다가 아니라 프로그래밍에 대한 개념을 이해하면서 공부를 할 수 있었다.

 

JavaScript를 공부할 때도 얇은 서적들을 읽었을 경우에는 단순히 책에 나와있는 소스코드대로 타이핑했다라는 느낌이 강했다. 하지만 내가 알고 있는 자바스크립트 교재 중에서 가장 두꺼운 교재인 '모던 자바스크립트 Deep Dive'를 읽었을 때는 자바스크립트를 이해하면서 공부를 했다는 느낌을 받을 수 있었다.

 

내가 하고 싶은 말은 그 언어에대해 공부한다면 가장 두꺼운 책을 선택하고 그 책으로 열심히 공부를 하는게 좋다는 생각이다. 하지만 책이 너무 두꺼우고 개념만 꽉꽉 들어가있을 때 문제점이 있는데 우선 프로그래밍을 처음 입문했을 때 이해하기 어렵고 재미가 없다는 것이다. 프로그래밍을 처음 입문하게 됐을때 for문으로 구구단을 작성하기도 어려운 상황이다. 이 상황에서 메모리, 객체지향, 포인터에 대해서 이해하기란 상당히 어려움이 있다. 그래서 그 언어를 공부한다면 책을 두 권 정도 선택하기를 추천한다. 처음에 입문하는 용으로 읽을 수 있는 간단한 프로그래밍 책, 그 언어의 개념까지 이해할 수 있는 아주 두꺼운 책 이렇게 읽었으면 좋겠다. 나의 경우 쓸데없이 책에 돈을 너무 많이 버렸다.