쉽고 재미있게 익히는 프로그래밍 입문서
2016년 책 50권 읽기 마흔한 번째 책입니다.
요즘 일로 인하여 약간의 스트레스를 받고 있습니다.
다행히 과도한 스트레스는 아닙니다.
이 스트레스로 인하여 짜증을 낼 것이 아니라 나를 발전시킬 에너지로 전환하고자 합니다.
그냥 평탄한 직장 생활과 업무였다면 현재에 만족하고 그냥 그렇게 나날을 보내게 되었을 것입니다.
그러나 그 스트레스가 나를 움직이게 합니다.
2016년 책 50권 읽기의 남은 방향은 프로그래밍입니다.
참 인생사는 알 수 없습니다.
제 인생의 첫 직업이 개발자였습니다. 아주 짧은 기간이었습니다.
그때는 이 길이 너무 힘들어 보였습니다.
대학원을 마치고는 대부분이 그렇듯 제조업에 몸을 담게 되면서 다시는 쳐다보지도 않을 거라 했는데...
그래서 사람의 앞날은 하나님이 아니고서는 아무도 알 수 없나 봅니다.
요즘은 다독(한꺼번에 여러 개의 책을 읽음)을 하고 있습니다.
프로그래밍과 관련된 책이 한 권만 집중해서 읽기에는 부담이 되기 때문입니다.
코딩 교육과 관련된 책, 프로그래밍을 위한 기초 지식을 다루는 책, 실제 코딩을 다루는 책, 그리고 프로그래머의 삶을 주제로 쓰인 소설 등을 읽고 있습니다.
내년 말까지 코딩과 관련된 책만 50권 정도 읽으려 합니다.
대학시절 C/C++/Java와 관련해서 필독서들을 섭렵하고, 웹 기반에서 ASP/PHP/JSP와 같은 프로그램들을 다루었고, 리눅스 기반의 서버를 구축하고 네트워킹 프로그램도 해 보았지만 벌써 이 모든 것을 내려놓은 지 15년이 되었습니다.
그래서 다시 시작해야 합니다.
무엇보다 대강의 흐름을 살펴보니 그때와는 개발 환경이 많이 달라졌습니다.
그리고 지금 제가 이 분야에 관심을 가지는 것은 그때처럼 개발자의 삶을 살아보자는 목적보다는 코딩 교육학적인 측면이 강하기 때문입니다.
이 책은 바닥에서 다시 시작한다는 생각에서 기초부터 빨리 이해하자는 생각에서 읽게 된 책입니다. 그런 의미에서 보면 책의 제목도 저에게 최적화되어 있습니다.
'속전속결 프로그래밍 입문'
책은 프로그래밍에 대한 직업에 대해 바로 알기에서 시작해서
컴퓨터와 프로그램의 발전 과정도 다루고
프로그래머라면 알아야 할 컴퓨터의 동작 원리도 다루고
운영체제의 기능과 역할도 다루고
C/C++/Java에 대해서도 소개하고 오늘날 프로그램의 주류인 객체지향의 개념에 대해서도 다루고
유닉스 환경에서의 개발과 윈도우 환경에서의 개발에 대해서도 다루고
초급 개발자에서 중급 개발자로 넘어가기 위해 알아야 하는 프로그램 지식도 다루고
프로젝트 개념의 프로그램 개발을 위해 소프트웨어 공학적인 개념과 소프트웨어 설계에 대해서도 다루고
벌레 잡기인 고급 디버깅 기술에 대해서도 다루고
요즘은 필수가 되어버린 네트워크의 개념에 대해서도 다루고
마지막으로 데이터베이스의 개념에 대해서도 다루고 있습니다.
지금까지 언급된 내용은 소프트웨어 공학에서 4년 동안 다루는 분야입니다.
이 전분야를 이 한 권의 책에서 모두 다루고 있습니다.
때문에 전문성과 깊이 있는 내용은 아닙니다.
그러나 큰 그림을 이해하는 관점에서는 짜임새 있게 구성이 되어 있습니다.
앞서도 말씀드렸듯이 저는 지금 다시 개발자가 되려는 것이 아니라 코딩 교육적인 측면에서 책을 읽고 있기 때문에 저에게는 짧은 시간에 예전의 기억들을 더듬어 보기에는 딱 좋았습니다.
전 어렵지 않게 이 책을 읽었고 또 모르거나 이해가 되지 않는 부분은 굳이 억지로 이해하려 하지 않았기에 속전속결로 읽을 수 있었습니다. 내용이나 구성도 만족합니다. 그러나 기초 지식이 없는 상태에서 이 책을 끝까지 읽기에는 부담스러울 수 있다고 생각합니다.
앞으로 어린이 코딩 교육과 관련된 교안을 정리하면서 필요에 따라 수시로 참고하게 될 것 같습니다. 다만 전자책으로 이 책을 읽었고 epub 포맷이 아닌 pdf 포맷이라 조금 불편함은 많았습니다. 참고로 이 책을 구입하려는 분이 계시다면 전자책이 아닌 종이책으로 구입할 것을 권합니다.