티스토리 뷰

프로그래밍 언어 도감 - 8점
마스이 토시카츠 지음, 김형민 옮김/영진.com(영진닷컴)


프로그래밍을 처음 배울 때 가장 어렵게 느끼는 부분은 설치였습니다. 언어가 무엇인지 알기도 전에 왜 내 컴퓨터에서만 환경 설정이 안되는 건지 불평만 했던 기억이 남습니다. 요즘에는 온라인에서 아주 오래된 프로그래밍 언어도 쉽게 체험해볼 수 있다는 것이 놀랍기만 합니다. 이런 환경이 없었다면 이 책의 매력도 많이 반감되지 않았을까 싶습니다. 막연하게 이런 언어가 있었구나~ 하고 그냥 지나가버렸을테니깐요.


"도감"이라는 이름이 붙은 책은 대부분 일본어 번역서인 경우가 많습니다. 최근에 번역 소개된 "맥주도감"도 아기자기한 일러스트와 함께 맥주를 즐길 수 있는 자료를 제공해주거든요. 이 책도 마찬가지입니다. 프로그래밍이라고 해서 어렵고 뭔가 심각한 것이 아니라 이런 다양한 언어가 있구나라는 것을 즐길 수 있는 책입니다. 물론 처음에는 책에 소개된 내용을 깊게 이해하지 못할 수 있습니다. 아마 저자도 67가지 언어의 깊은 곳까지 아는 것은 아닐겁니다. 하지만 우리가 말하는 언어도 마찬가지지만, 다르게 보이는 언어지만 서로 영향을 받고 생성되고 성장하는 것이기에 하나의 언어를 익히고 나면 다른 언어에 대한 관심도 생기고 내가 원하는 것을 다른 방법으로 만들어볼 수 있습니다.


언어를 전혀 모르더라도 그냥 일단 실행해보는 것만으로 신기한 경험을 해볼 수 있습니다.


1. 일단 이 사이트에 먼저 접속을 합니다. https://ideone.com/

2. 위에 있는 공간에 코드를 입력하고 "enter input"이라고 되어 있는 부분에 계산할 하노이 탑 숫자를 입력합니다.

3. 아래쪽에 있는 언어 버튼에서 "java" 대신 "Brainf**k"를 선택합니다. 그리고 "Run" 버튼을 클릭합니다.



4. 그러면 결과가 표시됩니다.


* 코드는 아래에서 내려받을 수 있습니다.

코드 내 주석 일부가 일본어로 되어 있는데~ 책 본문에는 번역이 되어 있습니다.

http://www.socym.co.jp/support/s-1108#ttlDownload

http://www.youngjin.com/book/book_detail.asp?prod_cd=9788931458107&seq=6251


숫자 하나 없는 "Brainf**k" 코드가 실행되는 것이 신기하더군요. "Brainf**k" 코드는 난해한 프로그래밍 언어 중 하나로 손꼽히는 코드이기 때문에 프로그램은 다 저렇게 어려운거야~라고 고민할 필요는 없습니다. 대부분의 프로그래밍 언어는 사람이 이해할 수 있는 언어로 구성됩니다. 스크래치 같은 교육을 위해 만들어진 언어는 아예 일반 문장처럼 코드를 구성하도록 되어 있습니다.


https://www.flickr.com/photos/wfryer/9461183065


67개 언어를 일러스트와 함께 그 특징을 잘 잡아낸것 뿐만 아니라 1장과 4,5,6 장에서는 프로그래밍 언어라는 것이 어떤 특징이 있는지 어떤 흐름을 가지고 있는지 설명해주는 내용도 간단하지만 중요한 내용만 뽑아서 잘 설명해주고 있습니다. 특정 언어를 설명하는 프로그래밍 책을 먼저 보기 전에 이 책을 보는 것도 권장해줄만한 일입니다. 아무래도 특정 언어를 설명하는 책은 전체적인 그림보다는 그 언어에 대한 이야기부터 풀어가기 때문에 흥미를 쉽게 잃어버릴 수도 있습니다.


이 책에서 샘플 코드로 다루는 "하노이의 탑"을 설명해주는 내용도 담겨져 있습니다. 실제 프로그래밍을 하다 보면 코드 자체를 아는 것도 중요하지만 논리적으로 문제를 풀어내는 능력을 더 필요로 합니다.


이미 프로그래밍 언어에 대한 경험이 많은 분들에게도 추억의 언어를 되돌아볼 수 있고, 아~ 이런 언어를 좀 배워볼까 하는 동기 부여가 되지 않을까 싶습니다.


* 저자 웹사이트에서는 그동안 펴낸 책들을 쭈욱 소개하고 있는데 뭔가 그림이 있는 스타일을 좋아하는 분이더군요.

https://masuipeo.com/index.html

뭔가 어려운 정보를 쉽게 설명하는 것도 능력이지요 ~


* 개인적으로 감동받은 코드입니다. SQL 문으로 하노이의 탑을 구현하다니요.

SQL 코드를 저런식으로 쓰라고 만들지는 않았겠지만 ^^



댓글
댓글쓰기 폼