"Programming Erlang"을 읽기 시작하며.

"Pragmatic Programmers"을 달고 나온 "Programming Erlang"을 읽기 시작했삼.

루비 공식 RDoc보다 훨씬 세세한 레퍼런스가 딸려오는 루비책이나 '실용주의 프로그래머'등으로 급호감이었삼. 거기에 한참 국내외에서 이슈가 되고있던 주제였던 Erlang에 대한 책을 쓰고 있다니 대략 감사하던 몇달전.

실제로 책을 읽으면서(점심 이후로 읽기 시작해서 겨우 챕터 3까지 읽었지만) 같은 주제에 대해서 이야기해도 훨씬 쉽고 잘 짚어서 깔끔하게 글을 쓰는 능력이 참 부러웠삼. (무엇보다 가장 중요한 유머감각도 잃지 않으면서)

ocaml을 공부할때는 '으악-_- 이거 뭐 이래'였던 개념들(패턴매칭)이나 조잡스러울만큼 너무 많은것을 과다하게 수용하려는 인상(객체지향, imperative, record...) 하지만 성능 하나 믿고 갔던거 같고, 헤스켈일때는 '이런것도 되네-_-'(`deriving`, 연산자 재정의, monad, ...)였었는데 erlang을 시작하니 그런 새로이 도입된 개념들을 잘 적용하여 실용적인 뭔가로 다가서고 있다는 생각이 들었삼.

그냥 스치는 생각으로 Io을 하면서 들었던 생각인 '정말 이게 깔끔한걸까?'라는 생각(스몰토크와 비교해서 묵시적으로 receiver가 Lobby등으로 고정되어 키워드는 없지만 키워드처럼 사용하는 메시지들 -if, foreach ...- 때문에라도 추가적인 규칙들이 늘어가는 모습)도 들었고, 헤스켈을 할때는 '굳이 객체니 클래스니 없어도 되겠구나. 차라리 이런 시스템이 더 깔끔한걸?'이라는 생각도 들었고... 냐튼. (그냥 어리석은짓중에 하나가 객체지향이라는 광고카피에 넘어가는게 아닐까 생각해보삼..)

반면 Io나 스몰토크, 루비, 혹은 Objective-C가 자바나 C++등에 비해서 많은 확장성/유연성을 확보할 수 있었던 요인은 메시징messaging 메타포어를 버리지 않고 그대로 구현했던점에 있다고 생각하삼.(ActiveRecord에서 엔티티매핑객체에 자동으로 생성되고 필요에 따라 추가/수정될 수 있는 behavior라든지 스몰토크에서의 AOP구현과 자바에서의 구현간의 작업의 수준을 비교해보삼...) Erlang은 객체지향은 아니지만 객체지향적으로 사고할 수 있는 사람에게 더 유리한 언어가 아닐까 생각해보삼. 단순히 한 프로세스의 각 모듈들을 객체로 보는데서 그치지 않고 협동적인 프로세스들이 서로 유기적으로 메시지를 주고 받는 말그대로 원론적인 객체모델이랑 크게 다르지 않다고 생각되었삼.

냐튼 잡상은 그만두고 오랬만에 재미있는 주제를 하나 건졌다고 생각하삼.

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by 아겔 | 2007/08/17 15:04 | erlang -- nine 9's | 트랙백 | 덧글(6)

트랙백 주소 : http://ageldama.egloos.com/tb/3341376
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 아겔 at 2007/08/17 15:17
아싸-_- "Manaing Gigabytes - 2nd ed." 왔다!
Commented by 홍민희 at 2007/08/17 15:20
저도 Erlang 공부해볼까 하는 생각이 들었는데… 책 출판된건가요?
Commented by 아겔 at 2007/08/17 15:35
원서로 구하실수있을검돠. 한 오만원정도.
전 pdf로 보구 있어염;;;
Commented by 펌프_kin at 2007/08/17 17:26
erlang하시묜 erlangstudy에 놀러오세요 ^^;
Commented by 아겔 at 2007/08/17 18:39
어랏? 그게 어디죠?
Commented by 아겔 at 2007/08/17 18:40
아... http://groups.google.com/group/erlangstudy
좋은데 소개해주셔서 감사합니다. :-)
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.

◀ 이전 페이지          다음 페이지 ▶