일전에 저희 블로그를 통해 리뷰어분들을 모집했던 프로그래밍 얼랭(Programming Erlang)이 드디어 6월의 신간이 되어 찾아왔습니다.^^
김창준 님께서 섹시~한 언어라고까지 평해주신 얼랭은 무려 30여년 전인 1980년대 등장한 함수형 언어입니다. 현재 산업 현장에서 쓰이는 유일한 함수형 언어이기도 하지요.
그러나 많은 분들이 아시는 바와 같이, 얼랭의 가장 큰 특징은 함수형 언어라기보다는 뛰어난 분산 처리와 동시성을 꼽을 수 있을 듯합니다. 한 번에 수천, 수십만 개의 프로세스를 띄우며 다양한 자원을 최대한 활용할 수 있는 그 강력함!  얼랭이 복잡한 시스템 환경에서 점점 늘어날 네트워크와 클러스터링 문제를 해결해줄 키워드로 각광을 받고 있는 이유겠지요.

게다가 기존 언어가 맞닥뜨리는 속도와 과부하 문제를 탁월하게 해결함은 물론, 기존과 다른 새로운 사고방식을 요하는 프로그래밍으로 신선한 재미까지 선사합니다.
얼랭을 통해 기존과는 전혀 다른 시각으로 더 넓은 프로그래밍의 세계를 경험해보는 건 어떨까요? 매년 새로운 언어를 배우길 시도하라는 실용주의 프로그래머들의 조언에 귀 기울여, 이번엔 비동기적 세상을 향해 여행을 떠나보심이 어떨는지……
김석준 님의 말마따나 비자(나 여비)는 필요 없습니다. 새로운 세상을 향한 도전과 호기심만 있으면 여행 준비로는 충분합니다.

프로그래밍 얼랭을 나오기까지 성실하고 꼼꼼한 번역을 해주신 김석준 님과 세심한 리뷰로 완성도를 높여주신 서광열, 양봉열, 이병준, 장회수, 전희원 님께 깊은 감사의 마음을 전합니다.

김석준 님께서는 현재  IBM 한국 디벨로퍼 웍스(DeveloperWorks)에서 얼랭을 이용한 웹 프로그래밍을 주제로 글을 연재하고 계십니다. 얼랭 프로그래밍에 대한 쉽고 재미있는 읽을거리가 그득히 담긴 글이 앞으로도 이어질 예정이니 많은 관심 부탁드릴게요.^^

예약 판매 : 강컴, 교보문고, 예스24, 인터파크

—-
옮긴이의 글

갑자기 누군가 여러분에게 자기소개를 해보라고하면 여러분은 어느 나라 말로 하시겠습니까? (잠깐 멈춤) 그렇다면 이번엔 누군가 불쑥 여러분에게 프로그램을 하나 짜보라 하면요? (다시 잠깐 멈춤) 그렇습니다. 우리 모두에게는 모국어가 있고 습관처럼 익숙한 프로그래밍 언어가 있을 것입니다. 저는 개인적으로 루비언어를 가장 좋아하고 즐겨 다루는 편입니다. 웬만한 숙제는 루비로 처리하곤 하죠. 물론 때에 따라서는 자바도 쓰고 자바스크립트도 다루고 C나 파이썬을 사용해야 할 때도 있습니다. 아, 한 가지 빼먹은 게 있군요. 바로 이 책의 주인공인 얼랭입니다.

얼랭은 애초 에릭슨에서 통신용 교환기에 사용할 목적으로 개발한 언어입니다. 통신쪽 프로그래밍을 해본 분이라면 아마도 그 어마어마한 덩치의 교환기가 쉬지도 않고 24시간 365일 묵묵히 돌아가는 것을 보면서 나도 언젠가 저런 프로그램 한번 만들어봤으면 하고 생각하신 분들도 계실 겁니다. 저는 그저 바라보기만 할 뿐 감히 엄두조차 내지 못했지만요.

그런 얼랭이 다시 돌아온 것은 묘하게도 소위 ‘웹2.0’이라는 트랜드가 IT와 인터넷 세상을 뜨겁게 달구는 시점이었습니다. 구글과 같은 인터넷 기업들이 그 많은 트래픽을 어떻게 감당하는지, ‘플랫폼’이라는 기치를 내걸고 속속 등장한 웹서비스들은 어떻게 중단 없이 지속적으로 사용자들에게 서비스를 제공할건지 하는 이슈들이 부각되는 속에서, 멀티코어 환경에서 안정적이면서도 쉽게 병행 네트워크 프로그래밍을 할 수 있게 해주는 얼랭이라는 언어가 빛을 발하게 된 것입니다.

얘기는 다르지만, 많이들 아시는 “실용주의 프로그래머”라는 책에 보면 개발자들이 ‘지식 포트폴리오’를 갖추는 한 방편으로 매년 적어도 한 가지씩 새로운 언어를 배우라는 제안이 나옵니다. 다른 언어는 동일한 문제를 바라보는 다른 시각을 열어주고 편협한 사고에 갇히는 것을 예방해 주기 때문이라죠. 모르긴 해도 얼랭처럼 기존의 잘 알려진 언어들과는 판이하게 다른 언어를 배우는 경우라면 아마도 더 그럴 것입니다.

얼랭이 왜 다르고 왜 특별한지는 이 책 속에 잘 나와 있으니 여기서 따로 중언부언하는 것은 괜한 낭비가 될 것 같고. 대신 짬을 내어 “여행”을 권합니다. 문화가 아주 다른 곳을 여행하고 나면 그전보다 훨씬 커진 자기 자신을 느끼게 되듯, 이 책이 안내하는 낯선 프로그래밍의 세계로 한번 여행해 보길 말이죠. 비자는 필요 없습니다. 단, 작은 사전 하나 정도는 챙기고 떠나는 게 좋겠죠.

물론 이 책이 얼랭의 전부를 다루는 책은 아닙니다. 온라인에는 이 책보다 더 쉽고 더 심도 있는 자료들도 많이 있습니다. 그렇지만 이 책은 얼랭을 공부하는데 있어 좋은 시작점이자 언제든 곁에 두고 기본을 돌아볼 수 있는 그런 책이라 생각합니다.

이 책을 번역하면서 많은 분들의 도움을 받았습니다. 우선 이 책의 초역에 대해 리뷰를 해 주신 서광열, 양봉열, 이병준, 장회수, 전희원 님께 무엇보다도 큰 감사를 드립니다. 그분들의 하나같이 예리하고 사려 깊은 지적과 통찰은 저에게 번역이라는 작업의 의미를 다시 한 번 돌아보게 만드는 계기가 되었습니다. 제게 얼랭을 처음 소개시켜 주신 애자일 컨설팅의 김창준 님께도 감사드립니다. 여러모로 부족한 저에게 선뜻 귀한 책의 번역을

맡겨주신 인사이트 한기성 사장님께는 늘 감사하는 마음뿐이고, 제법 딱딱할 수도 있는 문장들을 부드럽게 바로잡아주신 박선희 편집자님께도 고맙다는 말 전하고 싶습니다. 꼭 책에 이름을 달아 달라던 듬직한 후배 고세욱, 그리고 제가 이 무거운 책을 번역해 낼 수 있게끔 힘이 되어준 한살배기 아들 진형이와 그 어머니 되시는 분께도 감사와 사랑의 마음을 전합니다.

김석준

정오표