몇일 전부터 erlang tutorial을 보면서 코드를 치고 놀다가 아침에 출근하자 마자 책을 주문해서 오후 늦게야 받았다.(원서를 주문한지 하루만에 받아보긴 처음이다.)
Programming Erlang이라는 책인데 요즘 꽤나 잘 나가는 책인가 보다. 강컴이나 yes24의 원서 코너에서 상당한 판매량을 자랑하고 있으니 말이다.
뭐 말만들어본 함수형 언어를 처음 접해보는거라 좀 어색하긴 하지만 나름 흥미롭게 보고 있다.
목차를 보고 책을 빨리 읽고싶어지는 마음이 마구마구 샘솓아서 지금 3장까지 읽은 상태다.
빨리 보고 싶은 이유는 Distributed Programming챕터하고 programming multicore CPUs챕터 때문인데 언어 자체적으로 이런 병렬처리에 적합하게 디자인 되었다고 하니 어떻게 언어 레벨에서 구현할까 궁금했기 때문이다. (Hadoop의 mapreduce처럼 병렬 처리를 위해 프로세스 자체를 병렬처리에 맞게 디자인 하는 과정이 필요할거 같다는 생각만 살짝 든다.)
프로그래밍을 하면서 멀티코어 CPU에서 퍼포먼스 좋게 하려면 어떻게 할까 하는 고민을 내 노트북이 멀티코어라서 그런지 가끔 하긴 한다. 쓰레드로 프로그램을 돌리면 될텐데 프로그래밍을 하려면 이건 디버깅 하기도 힘든 문제가 있고 특수한 상황이 아니면 쉽게 접근을 해서 마구마구 쓸수 있는 그런 낮은 진입장벽이 있는것도 아니고, 그저 서버에서 멀티코어를 쓰면 좋겠다는 생각만을 하고 있었던 찰라였다.
결과야 멀티코어인 내 놋북에서 나중에 직접 돌려보고 퍼포먼스 테스트를 해보면 되겠지만 정말 빨리 해보고 싶은게 현재 내 마음 상태다.
책을 보고 상당히 놀란점이 있는데, 책이 원서임에도 불구하고 정말 쉽게 쓰여져 있다는 것이다. 흡사 소설책 보는듯한 느낌이 들 정도인데 책을 이렇게나 쉽고 재밋게 쓸수도 있구나 하는 생각이 들더라.
요즘 하드웨어의 가격은 싸지고, CPU는 멀티코어에다. 하드웨어의 발전 방향에 따라 Erlang이 각광받는 언어가 되다니 참으로 재미난 세상이다.
ps. D언어를 쓸만하니 이제는 Erlang에 빠졌다. 이렇게 되면 올해만도 언어 두개를 익히게 되는건가? ^^;
Programming Erlang by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.