개발자

지금 배울 만한 9가지 최첨단 프로그래밍 언어

Peter Wayner | InfoWorld 2014.11.06

널리 사용되는 언어들에 대한 유력한 대안들이 부상 중이다. 다음에 진행할 프로젝트에는 이와 같은 대체 언어가 더 적합할 수도 있다.

주요 언어들이 인기를 얻는 데는 이유가 있다. 방대한 오픈 소스 코드, 라이브러리, 프레임워크라는 토대를 제공하므로 그만큼 쉽게 원하는 목적을 달성할 수 있다. 오랜 세월에 걸쳐 다양한 프로젝트에 사용되면서 세세한 부분에 대한 전문적인 지식이 풍부하게 쌓인 결과다.

그러나 광범위하게 사용되는 주류 프로그래밍 언어의 방대한 리소스로도 문제를 해결하지 못할 때가 있다. 또 적당한 언어를 찾기 위해 눈앞에 있는 것 이상으로 멀리 시선을 돌려야 할 때도 있다. 딱 맞는 구조의 언어를 찾으면 끝없는 조정과 최적화 작업 없이 훨씬 더 빠르게 코드를 실행할 수 있다. 난잡한 코드 또는 잘못된 코드를 사전에 방지함으로써 훨씬 더 안정적이고 정확한 코드를 생산할 수도 있다.

세상에는 C#, 자바 또는 자바스크립트 말고도 똑똑한 언어들이 넘쳐난다. 소수의 애호가들 사이에서만 사용되는 언어도 있지만, 많은 경우 그 언어의 특정 문제 해결 능력에 대한 애정으로 똘똘 뭉친 활발한 커뮤니티가 형성되어 있다. 수천만 명의 프로그래머에게 친숙한 구문은 아닐지 몰라도 가끔은 조금 다른 방식으로 하는 데서 더 많은 가치를 얻기도 한다. 새로운 언어에 대한 실험은 미래의 프로젝트에서 큰 도움으로 되돌아올 수 있다.

다음에 소개하는 9가지 언어는 모든 프로그래머가 관심을 가질 만한 언어들이다. 모든 작업에 다 어울리지는 않지만(많은 언어들이 특정 종류의 작업에 초점을 둠) 한 번쯤 살펴보고 투자할만한 장점을 지니고 있다. 이러한 언어들 중 하나가 언젠가 여러분의 프로젝트(또는 상사)가 요구하는 언어가 될지도 모를 일이다.

얼랭(Erlnag) : 실시간 시스템을 위한 함수형 프로그래밍
얼랭이 탄생한 곳은 스웨덴 통신업체 에릭슨(Ericsson)의 연구실 깊은 곳이다. 에릭슨 프로그래머들이 얼랭을 사용한 99.9999999%의 데이터 전송(즉, “9개의 9”) 성능에 대해 자랑을 늘어놓기 시작하자 에릭슨 외부의 개발자들도 얼랭에 관심을 갖기 시작했다.

얼랭의 비밀은 함수형 패러다임에 있다. 코드의 대부분이 자체 구역 내에서만 작동하도록 강제되므로 부작용을 통해 시스템의 나머지 부분에 해를 끼칠 일이 없다. 함수는 샌드박스와 같은 역할을 하는 작은 “프로세스”에서 실행되면서 모든 기능을 내부적으로 처리하며, 메일 메시지를 통해서만 서로 대화한다. 얼랭에서는 스택의 아무데서나 포인터 하나를 잡아서 상태를 바로 변경하는 등의 일은 할 수 없다. 호출 계층 내에 있어야만 한다. 조금 더 생각을 요하지만 실수로 인한 파장이 확산될 가능성은 낮다.

런타임 코드는 이 모델을 통해 동시에 실행 가능한 항목을 더 간단히 판단할 수 있다. 동시성을 쉽게 감지할 수 있으므로 런타임 스케줄러가 감당해야 할, 프로세스를 설정하고 해제하는 데 따르는 오버헤드가 극히 낮다. 얼랭의 지지자들은 웹 서버 하나에서 2000만 개의 “프로세스”를 동시에 실행하는 것을 자랑하곤 한다.

휴대폰 스위치에 대한 청구 시스템과 같이 데이터 손실을 감수할 수 없는 실시간 시스템을 구축한다면 얼랭을 주목하라.

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.