Erlang을 배우는 이유

written by on August 6th, 2008 @ 08:33 AM

 

얼랭 책을 들고 다니는 것을 본 주변 사람들이 왜 그 언어를 배우는 지 궁금해한다. 루비 언어만 해도  루비보다 더 유명한  웹 개발 프레임워크인 루비온레일즈와 레일즈로 개발된 미투데이, 스프링노트 같은 서비스 덕분에  국내에 어느 정도 알려졌지만, 얼랭은 아직 많이 생소한 것 같다. 얼마 전만 해도 나 역시 그랬다.

 

1년 쯤 전에  Programtic Programmers의 데이브 토마스가 얼랭에 대한 글을 블로그에 올리고 책을 낸다고 했을 때는 나는 그저 뭔가 병렬처리에 적합한 새로운 언어인가 보다 했다.

 

또 여러 달 전에 루비 커뮤니티의 우경님 같은 몇몇 지인들이나 김창준님 같은 분이 얼랭 스터디를  한다는 소식을 들었을 때도, 폭넓은 개발자가 되기 위해서는 매년 새로운 언어를 하나씩 배우자는 프래그머틱 개발자들의 지침을 따르는 정도가 아닐까 생각했다.

 

그리고 얼마 전에 석준님이 얼랭의 바이블이 된 Programming Erlang의 번역본을 내셨다. 들은 바에 따르면 그 책이 루비온레일즈 책보다 더 많이 팔리고 있다고 한다.  사태가 이 쯤 되니 얼랭이 왜 이렇게 인기가 높아지고 있는 지 정말 궁금해지기 시작했다.

 

그리고 곧  다음과 같은 사실들을  알 수 있었다.

 

 

7000만명의 가입자를 가진 Facebook는 최근 Chat 서비스를 오픈했는데 사용자들의 온라인 메시지들을 메모리 유지하고 HTTP 요청들을 처리하는 Chat  전용 웹 서버를 Erlang으로 구현했다.

 

 

아마존은 S3, EC2 등 자신들의 웹 서비스용 비지니스 플랫폼의 마지막 완성 주자인 SimpleDB의 웹서비스를 Erlang으로 구현했다.

 

얼랭 언어를 만든 곳인 세계적 통신 장비 회사 에릭슨은 1983년 이 언어를 만든 이후, 이미 오랜 전부터 수백만 혹은 수천만명의 사용자를 대상으로 하는  이동통신 상용 장비들을   Erlang으로 개발했왔다.

 

놀랍지 않은가 얼랭은 루비보다 훨씬 더 깊은 역사와 신뢰할 만한 상용화 사례를 가진 언어였다.

 

더구나 얼랭에 대한 관심은 최근 들어 더욱 더 높아지고  있는데, 그 이유는 기존 대형 포털들을 포함하여 클라우드 서비스 등을 구현하고자 하는 새로운 서비스 업체들이  병렬 분산 플랫폼을 효과적으로 구현하고자 하기 때문이다.

 

따라서, 구글의 대표적인 병렬 프로그래밍 모델인 MapReduce나 이를 오픈 소스로 구현한 플랫폼인 Hadoop 과  함께 병렬 프로그래밍에 가장 효율적인 언어의 하나인 얼랭에 대한 관심이 증가하고 있는 것이다.  (국내에서도 얼마 전 이 분야에 관심을 가진 사람들이 모여서 플랫폼데이라는 행사를 했었다.)

 

 "언어는 문화다"라는 말이 있다. 이 말은 영어, 중국어, 일본어 같은 각 언어는 그 언어를 사용하는 나라와 지역의 문화와 밀접하게 연결되어 있으므로, 새로운  언어를 배우게 되면 그 언어와 연관된 문화를 자연스럽게 접하게 되고, 또 어떤 언어를 제대로 배우기 위해서는 그 언어의 문화를 함께 배워야만 한다는 의미이다.

 

이 말은 프로그래밍 언어에서도 그대로 적용된다. 나는 루비 언어와 루비온레일즈 프레임워크, 루비 커뮤니티를 통해서 MVC기반의 경량 Agile  웹개발 방식과, REST 기반 웹 개발, HTML-CSS-Javascript의 역할을 명확히 구분하고 표준을 준수하는 웹표준 개발, Unobtrusive Javascript, Grid 기반의 웹 디자인 방법론, Open-API 와 Meshup 등 새롭고  다양한 웹개발 관련 지식들을 더 쉽고 빨리 익힐 수 있었다.

물론 이런 지식들은 반드시 루비 언어를 통하지 않아도 익힐 수 있는 기술들이다. 하지만  루비 언어를 기반으로 개발된 수 많은 서비스와 라이브러리들 그리고 루비 개발자들의 문화가 이러한 지식들과 매우 친밀하기 때문에 그 것들을 더 잘 배울 수 있었던 것이다.

 

이제 나는 얼랭 언어를 통해서  함수형 언어에 대한 지식은 물론 위에서 언급한 Hadoop, Map-Reduce 와 같은 병렬/분산 처리 기술을 포함한 대용량 플랫폼 개발 관련 기술들에 대한 지식들을 함께 배울 수 있기를, 그리고 이러한 기술에 관심을 가진 많은 동료 개발자들을 만날 수 있기를 기대한다.

 

Comments

  • ikspres on 06 Aug 17:23

    (ikspres) 중요한 이유를 하나 빼먹었군요. 재미! by ikspres
  • kkung on 06 Aug 17:27

    COP!
  • ikspres on 07 Aug 09:19

  • wow gold on 21 Sep 05:41

    We have been an ebay power seller and paypal confirmed seller of <a href=http://www.wowgoldprice.com>wow gold</a> for years.We also offer cheap <a href=http://www.wowgoldprice.org>wow gold</a>. by wow gold
  • wow gold on 24 Sep 00:22

    We have been an ebay power seller and paypal confirmed seller of <a href=http://www.wowgoldprice.com>wow gold</a> for years.We also offer cheap <a href=http://www.wowgoldprice.org>wow gold</a>. by wow gold
  • wow gold on 06 Oct 23:25

    We have been an ebay power seller and paypal confirmed seller of <a href=http://www.wowgoldprice.org>wow gold</a> for years.We also offer cheap <a href=http://www.wowgoldprice.com>wow gold</a>. by wow gold

Post a comment