루비, 클로저, 오브젝티브씨

간만에 책꽂이에 박혀있던 녀석들을 이놈 저놈 꺼내서 공부했다.

오브젝티브씨

어쩐일인지 ObjectiveC(오오츠마코토/멘토르)가 눈에 쏙쏙들어왔다. 읽으면서 생각해보니, 얼마전까지만 해도 오브젝티브씨는 함수이름도 구질구질하게 길고, 쓸 수 있는 플랫폼도 아이폰이랑 맥뿐이라고 버려두었던게 바보같이 생각되었다.

책에는 C/C++과 공통되는 내용이 많이 나오지만, 오히려 그 점 때문에 더 잘 읽을 수 있었다. 새로운 언어 하나를 처음부터 정복하는 기분이랄까. 이제는 아이폰 프로그래밍 책들을 들춰봐도 그다지 어색한 느낌이 들지 않는다.

자바스크립트

얼마전 크락포드의 자바스크립트 핵심 가이드(Javascript: the Good Parts)를 본 다음에는 자바스크립트도 괜찮은 언어라고 생각하기로 했다. 어쨌든 이걸 써야하는 분야가 있으니, Good  Parts를 살려서 쓰면 된다는 정도.

루비

루비는 만날 쓰면서도 기본기가 부족하다는 느낌을 지울 수가 없다. 한빛미디어의 책이 더 깔끔한거로 기억하고 있었는데 다시 읽어보니 인사이트의 프로그래밍 루비쪽이 더 잘들어왔다. 책은 두껍지만 13장까지만 읽어도 핵심은 다 이해할 수 있다.

파이썬

여전히 파이썬 코드를 만들 때가 있긴 하다. 파이썬의 특징에 대한 꽤 그럴싸한 글을 발견했다. 내용은 파이썬이 더 명확하고, 루비에는 매직이 너무 많다는 것. (맞다, 바로 그런 느낌 때문에 루비를 잘 모른다는 찜찜한 느낌이 계속되어왔고, 책을 꺼냈고 이렇게 포스팅하게 되었다.)

하지만, 난 계속 루비를 써야한다는 생각을 버릴 수가 없었다. 위의 링크와 이웃한 글을 보면 파이썬과 루비의 언어상 장/단점은 논하기 힘들다. 다만 루비 커뮤니티쪽이, 디자이너나 초보자들이 사용하기 편한 아웃풋을 만드는 경향이 있다는 주장을 하고 있는데, 맞는 말인 것 같다. (Quora는 대체로 옳다. 한글로도 이런거 만들어보고 싶어! )

그렇다면, 루비는 실무에 이미 적용하고 있는 언어이고, 배우고 실험할 다음 언어는 무엇으로 해야할까… 고민해보면…답은 당연히 클로저!

클로저

몇권을 들춰봤지만 잘 모르겠고, 컴퓨터 프로그램의 구조와 해석(SICP)에 덤벼보고 싶은 마음은 접을 수가 없었다.  지금 Scheme을 배우는 건 오바인 것 같고, SICP를 클로저로 해보자는 http://sicpinclojure.com/ 프로젝트도  진전은 없는듯 하다. 아직은 잘 모르겠지만, 책을 보면서 http://clojure.org/cheatsheet를 열어두고 클로저에서 코딩하는 식으로 진행하면 가능성은 보인다. 어쨌든 나한테 LISP 계열 언어는 언젠가 정복할 숙제.


댓글

오산돌구 : 루비 추천책은 꼭 봐야겠네요~!! :) 저도 SICP 1장보다가 한계에 부딪혀서 HTDP봤는데 이것도…ㅋㅋㅋㅋ 추천책 감사합니다~ (2012-06-04 23:02:35)