얼랭

해시넷
bl6428 (토론 | 기여)님의 2019년 6월 25일 (화) 17:52 판
이동: 둘러보기, 검색

얼랭(Erlang)은 1998년 오픈 소스로 공개된 실시간 시스템을 위한 함수형 프로그래밍 언어이다.

얼랭(Erlang)의 로고

개요

덴마크의 수학자이자 통신이론을 연구한 Agner Krarup Erlang의 이름에서 따오게 되었다. 초기에는 전화 및 통신 애플리케이션을 개발할 때 사용된 사설 프로그래밍이었으며 1998년 오픈 소스 전환 후 페이스북메신저 같은 프로젝트와 카우치DB 문서 지향 데이터베이스 관리 시스템 같은 현실적인 오픈 소스 프로젝트에서 사용되어 유명세를 얻게 되었다.

특징

과거 멀티코어 시스템이 퍼지며 주목받은, 기존과 다른 방식으로 영향을 미친 수학 함수 기반 함수형 언어이며, 운영체제가 아닌 프로그래밍 언어에 병행성이 들어 있는 언어이다. 때문에, 문법에 대한 접근 방식도 달라 그 이전까지의 언어들과는 달리 많이 낯설 수 있다. 하지만 OTP(Open Telecom Platform)라는 얼랭 전용 애플리케이션 플랫폼이 존재하여 개발 환경을 기본적으로 제공해주므로 처음 접하는 경우에도 비교적 쉽게 진행할 수 있다. 메시지를 주고받는 것만으로도 상호 작용할 수 있는 병렬 프로세스들의 집합으로 모델링 한 것이다. 얼랭에 잠금, 동기화 메서드, 애초에 존재하지 않는 공유 메모리의 위반이 없는 점이 그에 따른 장점이다. 또, 얼랭으로는 수천, 수만에서 수백만, 수천만에 이르는 극단적으로 경량인 프로세스들을 만들 수 있는데, 만들어진 프로세스들은 단일 프로세서, 멀티코어 프로세서, 프로세서들의 네트워크에서 실행될 수 있다.

활용

얼랭은 시스템 운영 중에도 프로그램을 변경할 수 있는 핫스왑 기능이 지원되고 높은 가용성이 요구되는 대규모의 확장이 가능한 실시간 시스템(Soft Real-time System)을 구축하는 데 사용되는 프로그래밍 언어이다. 또한, 얼랭 런타임 시스템(Run-time System)은 동시성(Concurrency), 분산(Distribution), 결함 방지 능력(Fault Tolerance) 지원 시스템을 내장하고 있다. 그러다 보니 장점을 살려 통신사, 은행, 전자상거래, 통신, 모바일 메신저, 게임 등 대량의 데이터를 처리하는 서버 시스템 구축에 쓰이고 있다.[1]


각주

  1. 출처 : 얼랭 공식 홈페이지 -, "[1]"


참고자료

같이 보기