|
이 책은 프로그래밍 입문서 특성상 기본적인 프로그래밍 개념을 이해하고 활용하기 위한 학습에 치중되어 있다. 프로그래밍을 위한 핵심적인 개념인 변수, 함수, 객체 등에 대한 원리와 사용, 프로그램의 기본 제어 구조와 자료 구조, GUI 환경에서의 그래픽적인 요소 등을 소개하고, 입문자들의 흥미를 자극하는 프로그램 예제를 통해서 핵심적인 도구를 배울 수 있게 구성되어 있다. 대부분의 프로그래밍 입문서가 예제를 직접 타이핑하고 결과를 확인함으로써 학습할 수 있는 반면에 이 책은 읽고 보는 것만으로도 학습이 용이하다. 물론, 이해를 돕는 다양한 예제도 제공하고 있기에 실습으로 확인해볼 수 있다.
파이썬(Python)은 1991년 프로그래머인 귀도 반 로섬(Guido van Rossum)이 발표한 고급 프로그래밍 언어이다. 파이썬이라는 이름도 귀도가 좋아하는 코미디 이름에서 따왔다. 파이썬은 플랫폼 독립적이기 때문에 다양한 플랫폼에서 쓸 수 있고, 라이브러리가 풍부하여 대학을 비롯한 여러 교육 기관, 연구 기관 및 산업계에서 이용이 증가하고 있으며, 많은 상용 응용 프로그램에서 스크립트 언어로 채용되어 사용되고 있다. 파이썬은 인터프리터식으로 객체지향적, 동적 타이핑 대화형 언어로 동적이며 융통성 있는 언어이기에 프로그래밍 입문자를 위해서 이 책에서 파이썬이 선택되어진 듯싶다. 과거에 프로그래밍 입문서로 베이직이라는 언어를 기초로 했듯이 말이다.
헤드 퍼스트 시리즈는 일반적인 프로그래밍 서적과는 학습방식에서 차별성을 갖는다. 이 책 역시 헤드 퍼스트 시리즈 특성답게 인지 과학을 바탕으로 한 학습방식을 채택하고 있는 것이 특징이다. 따라서 전체적으로 사진과 그림을 이용한 비쥬얼한 구성을 갖고 있고, 문체는 개인적인 대화 형태의 문체를 사용하였다. 또한 독자가 주의를 기울여 더 깊이 생각할 수 있도록 도와주고, 기억능력과 학습 성취도를 높이기 위해서 독자의 감성을 자극할 수 있도록 구성에 신경을 썼다. 목차에 경우도 일반적인 목차 구성 이외에 전체적인 파악을 할 수 있도록 개괄적인 설명을 다룬 별도의 목차항목도 제공한다.
프로그래밍에 관심이 있는 초보자들이라면 이 책을 통해서 보다 쉽고 효과적으로 학습해보기를 권하고 싶다. 헤드 퍼스트 시리즈의 최대 강점인 인지 과학을 바탕으로 한 학습 원리를 이 책에서도 충분히 활용하고 있고, 프로그래밍 및 개발 도구에 대한 사전 지식과 이해가 없더라도 쉽게 학습해갈 수 있도록 구성되었기 때문이다. 반면에 자신이 기본적인 프로그래밍의 개념이 잡혀 있고 목적으로 하는 프로그래밍 언어가 정해졌다면 이 책이 혼선을 줄 수도 있으니 참고할 필요는 없다. |
|
컴퓨터를 사용하다보면 누구나 한번쯤은 스스로 프로그램을 만들어 보고 싶다는 욕심이 생긴다. 하지만 전문적인 프로그래머가 아닌 이상 어떤 언어를 어떻게 배워야할지를 생각하다보면 막막하다. 그래서 프로그래밍은 전문가 영역에 해당되고 나에게는 그저 희망사항일 뿐이라는 자각과 함께 포기하는 경우가 대부분이다.
그런데 정말 초보자도 쉽게 프로그래밍을 배울 수 있는 책이 나왔다. 한빛미디어에서 출간한 『Head First Programming』이 바로 그 주인공. 이 책은 한 번도 프로그래밍을 해본 경험이 없는 자를 위한 책이다. 프로그래밍을 하기위해 알아야 하는 변수, 분기, 루프, 라이브러리, 함수, 배열 등 핵심적인 개념 소개는 물론 간단한 프로그램을 프로그래밍 언어인 파이썬으로 제작해봄으로써 응용할 수 있게 도와준다. 그것도 조금씩 개념의 범위를 넓히면서 반복되는 실습을 통해 핵심적인 내용을 내 것으로 소화할 수 있도록 돕는다.
처음 책을 펼치면 그림과 글자가 어지럽게 늘려있어 다소 혼란이 생기지만 내용에 집중하다보면 잘 정리된 노트를 보는 듯 한 착각에 오히려 더 친근하게 느껴진다. 파이썬을 한 번도 사용해 본적이 없지만 책을 따라 새로운 프로그램 파일을 만들다보니 그리 어렵지 않다는 것을 금방 깨닫게 된다.
책은 본문이 모두 10장으로 구성되어 있고, 부록으로 두개의 장이 추가되어있다. 각 장은 기본적인 설명을 시작으로 프로그램 코드를 가지고 바로 분석에 들어가고, 조금씩 내용을 추가해나가고 파이썬에서 직접 실행하고 확인하는 과정을 거친다. 이러한 것들이 반복되면서 드디어 최종에는 원하는 프로그램이 완성된다. 그리고는 그 장에서 배운 것을 요약하면 한 장이 끝난다.
책은 중간 중간에 중요한 개념에 대한 인터뷰도 마련되어 있고, 잘 나올만한 질문과 답변을 모은 '바보 같은 질문이란 없습니다'라는 코너도 있다. 그리고 직접 프로그래밍을 해 볼 수 있는 공간도 마련했기에 직접 프로그램 소스 코드를 적은 뒤에 뒷장에 나오는 정답과 맞춰볼 수도 있다. 정답에는 소스 코드에 대한 자세한 설명이 포함되어 있기 때문에 이해를 돕는다.
헤드 퍼스트 시리즈는 처음 접해본다. 책 활용법에 따르면 헤드 퍼스트의 학습 원리는 관련 그림을 배치한 비주얼한 편집, 대화 형태의 문체 사용, 깊이 있는 생각 유도, 주의력 집중, 그리고 독자의 감성을 자극하는 학습법이다. 간단하게 말하자면 머리가 쌩쌩 돌아가게 하는 학습법으로 인지 과학과 학습이론을 바탕으로 한다는 것이다.
프로그래밍을 하고 싶은데 초보자라 망설이고 있다면 이 책으로 공부해보기를 권한다. 프로그래밍에 조금이라도 관심이 있다면 이 책으로 쉽고 재미있는 학습이 가능하기 때문이다. 게다가 한빛미디어 웹사이트에서 예제 코드를 다운로드 받을 수도 있다. |
|
내가 Head First 시리즈의 책을 처음 접한 것은 동생이 사둔 Head First iPhone Programming이었던 것으로 기억 한다. 그 책을 보고 첫 마디는 욕설에 가까운 경탄이었다. '도대체 누가 이런 책을 만드는가?'
독자에게 머리를 들이 밀고 있는(Head First) 책의 표지에서 부터 예상되는 '파격'의 이미지를 가진 이 책 역시 그림과 낙서 투성이인 책의 내용에서 두 손을 들게 만든다. 마치 수업시간에 필기를 해둔 나의 노트를 보듯 또는 한 편의 그림책을 보듯 읽어 나갈 수 있도록 괴짜스럽게 구성되어 있다(국내에서는 한빛미디어의 '뇌를 자극하는' 시리즈나 길벗의 '무작정 따라하기' 시리즈가 비슷한 형태를 따르고 있다). 확실히 해 둘 것은, 내용은 알차고 체계적이며 심지어 진중하기까지 하다. 한 권의 책을 보고 나면 마치 내가 전문가가 되어 있는 것 같은 착각을 하게 될지도 모른다. 최근 파이썬을 이용해 프로그램을 개발한다는 사람을 많이 만나게 되는데 그들의 대부분이 컴퓨터, 전자 관련 전공자가 아닌 것을 감안할 때(심지어 디자이너도 있음) 사용하기 편하게 되어있다는 사실만을 유추해 알고 있을 뿐 파이썬에 대해서는 잘 몰랐던 내가 이 책을 통해 파이썬의 장점을 떠들고 다니는 것 처럼 말이다.
이 책은 파이썬을 기반으로 하고 있지만, 파이썬에 대한 책은 아니다. 풀어서 설명하면 단지 파이썬이 프로그래밍을 시작하기에 좋은 언어이며 계속 사용하는 데에도 좋은 언어이기 때문에 그리고 사용할 필요가 있는 유일한 언어이기 때문에 프로그래밍 방법을 설명하고 개념을 강조하기 위해 파이썬을 사용하고 있다고 저자는 이야기 한다.
이 책의 처음은 변수의 개념과 if/else 등의 분기문에 대한 설명부터 이루어 진다. 진부한 'Hello World!'에 대한 설명부터 시작되는 것이 아닌 점이 상당히 매력적이다. 각 소제목 마지막에는 '바보 같은 질문이란 없습니다'라는 제목의 Q/A란이 있는데 여기서는 '파이썬을 들어본 적이 없는데, 인기있나요?'라는 질문과 '안쓰면 안되나요?' 등 초심자들이 할법한 질문들에 대한 세세한 답변들을 담고 있다.
이 책의 구성은 다음과 같이 되어 있다.
서문
이 책은 분명 글로 만은 부족한 내용들을 비주얼한 메모들을 통해, 개인적인 대화 형태의 문체를 통해, 더 깊이 생각할 수 있도록 도와주는 여러 장치들을 통해 그리고 감성을 자극하는 구성을 통해 재미와 감동을 이끌어 내고 있다. 글로 설명하는 것이 어려워 그림을 그리지만, 그림을 이해시키는 것이 더 어려운 법인데 이 책은 정성으로 그 어려움을 극복해 내고 있다. 정말 세심한 배려가 돋보이는 그런 책이다.
C나 C++, C#, JAVA 등 머리 아프고 배우기 어려운 언어에 시달린 경험이 있는 사람이라면, 그리고 재도전의 열의에 불타고 있는 사람이라면 꼭 이 책을 통해 그 목표를 이룰 수 있길 바란다. 강추! |
|
나는 프로그래밍 언어를 이용하여 제품을 개발하는 분야에서 일을 하지 않기에 수준급의 프로그래밍 능력은 갖추고 있지는 않다. 하지만 내가 하는 프로젝트 개발을 위해서는 C언어를 이용해 제품 동작을 시켜야 하기 때문에 어느 정도 프로그래밍 능력은 필요하다. 그래서 프로그래밍 언어를 꾸준히 공부하고 능력을 유지해야 한다. 물론 학창시절에 C/C++ 등의 언어를 배웠지만 전문적으로 프로그래밍 언어를 사용하지 않기 때문에 다양한 고급 기능을 활용하지 못하는 게 항상 아쉬움으로 남았다. 항상 기본적인 기능만으로도 프로젝트를 수행하는데 무리가 없었기에 스스로 제자리에 머물러 있었는지도 모른다. 그런 와중에 이 책을 접하게 되어 프로그래밍 방법에 대해 많은 도움이 되었다.
이 책은 기존의 프로그래밍 언어 책과는 사뭇 다르다. 기존의 책들은 비슷비슷한 구성으로 문법을 설명하고 예문을 쫓아서 프로그래밍 하는 방식으로 문법 습득에 초점을 맞춰져 있다. 하지만 이 책은 파이썬이라는 프로그래밍 언어를 이용하여 프로그래밍 언어를 설명 하지만 문법 설명에 치중하는 것이 아니라 프로그램 설계하는 개념을 설명하는 것에 초점을 맞춰진 것이 특징이다. 이는 이 책을 제대로 터득한다면 다른 프로그래밍 언어를 습득하는데도 큰 도움이 될 것이다. 좀 더 큰 범주에서 프로그래밍 언어를 이해하는데 수월하도록 알려준다.
또한 수많은 책들이 빽빽하게 문법을 설명하는 글로 가득하지만 이 책에서는 글보다는 그림이 많다. 이는 프로그래밍 언어가 복잡하고 어렵다는 느낌보다는 전체적인 개념을 이해하는데 무척 도움이 된다. 나도 학창시절에 베이직, 코볼, 포트란에서 C/C++까지 배웠지만 언어의 개념을 이해하기에는 많은 시간과 노력이 필요했었다. 물론 지금도 완벽하게 이해한 것은 아니지만 그만큼 개념 이해를 하는데 무척 어려웠고 중요하다. 지금 나름대로 분석을 해보면 프로그래밍 언어 문법 습득에 치중했기 때문에 프로그래밍 언어라는 숲을 보지 못했던 것이 아닐까 생각한다. 이 책은 전체적인 숲을 볼 수 있도록 도와주고 있다. 프로그래밍 언어를 처음 접하는 사람들에게는 무척 중요한 것이다.
프로그래밍 언어에 익숙한 사람들이라면 기본적으로 이해하는 내용이지만 처음 접하는 사람들에게는 정말 궁금한 내용들을 질문과 답변 형식을 통해 설명을 해준다. 아주 기초적이지만 누군가 설명하지 않는다면 알 수가 없는 그런 내용들이다. 이런 설명을 읽으면서 나 또한 간과하고 있었던 부분을 다시 한번 생각하게 되었다. 프로그래밍 언어의 이해를 돕기 위해 하나의 주제를 설명하고 나서 과제를 내준다. 배운 내용을 이용하여 필요한 코딩을 하는 방법은 많은 책들과 동일하지만 이 코딩은 다음 설명에서도 계속해서 이어진다는 것이 또 다른 특징이다. 단락이 끝날 때까지 동일한 프로그램에 기능을 추가하는 방법으로 설명하니까 전체적인 프로그램 이해에도 도움이 된다.
아무리 좋은 책이 있더라도 배우는 사람이 얼마나 열심히 노력을 하느냐에 따라 코딩 능력은 엄청난 차이가 난다. 이를 위해서는 교재가 뒷받침이 되어야 한다. 읽는 이로 하여금 빠져들게 하는 것은 교재가 얼마나 흥미로운 내용을 담고 있느냐는 것이다. 재미있고 재미없음의 차이는 책의 구성이 많은 영향을 준다. 이 책은 충분히 흥미를 갖고 끝까지 읽을 수 있도록 도와줄 것이다. 그만큼 프로그래밍 언어를 설명하는데 매력적인 방법으로 설명을 하고 있다는 것이다. 솔직히 프로그래밍 언어를 배운다는 것은 말처럼 쉬운 일이 아니다. 문법은 쉽게 이해할 수 있겠지만 이를 이용하여 프로그램을 설계한다는 것은 또 다른 문제이기 때문이다. 이 책에서는 설계하는 방법을 알려준다는 것이 매력이다.
|
|
Head First 시리즈의 파이썬 입문서입니다. |
|
저는 프로그래밍을 거의 접해본적이 없는 3d 그래픽 디자이너 분들과 이 책을 보면서 느꼈던 점을 적어보겠습니다. - 좋았던 점 - 일단 여느 헤드퍼스트 시리즈와 같게 눈에 쉽게 들어오는 구성으로 되어 있어서 접근하기에 편합니다. 처음부터 IDE 툴에 대한 자세한 설명과 프로그래밍에 필요한 부분들을 단계적으로 배우면서 하나의 완성된 프로그램을 만들어가며 실제 어떻게 적용되는지 알게 하는 부분이 형식적인 코드만 보는것 보다 이해도를 더 높여줬습니다. - 아쉬웠던 점 - 다른분들도 언급하셨듯이 이책은 파이썬에 대해 기초 문법 부터 설명한 책이 아니라서 처음 프로그래밍을 접한분들이 이책을 보실경우 당황스러울 수가 있습니다. 그래서 프로그래밍을 처음 하시는 분들은 기본 문법책과 병행하면서 같이 봐야 할 책입니다. 또 하나 아쉬운점은 파이썬 3.x대를 사용해서 설명하고 있는데, 아직도 2.x대가 많이 쓰이고 상황에서 소스코드에서 두가지를 병행해서 보여주었으면 더 좋지 않았나라는 아쉬움이 남습니다. 이책의 대상은 프로그래밍에 대한 기본지식이 있으면서 파이썬을 이용해 실제 어떻게 적용되는지 학습하시는 분들이 적절할꺼 같습니다. |
|
사실 프로그래밍을 할 줄 아는 사람은 볼 필요가 없다는 걸
|
|
1. 목적 |