의견.png

"얼랭"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
(= 긍정적 측면)
(전망)
14번째 줄: 14번째 줄:
 
== 전망 ==
 
== 전망 ==
 
=== 긍정적 측면 ===
 
=== 긍정적 측면 ===
동시성(Concurrency) 프로그래밍 언어로 장시간 주목받아온 얼랭은 라이선스를 얼랭 퍼블릭 라이선스(Erlang Public License)에서 아파치v2(Apache Version 2.0)로 체제로 변경하면서 또 한번 세를 넓힐 기회를 잡았다. 라이선스 변화로 얼랭이 기존보다 대중화되지는 않더라도, 언어 채택 시에 라이선스 간 마찰을 제거하고, 더 많은 사용자를 끌어들일 수 있을 것이다.<ref>김우용, 〈[http://www.zdnet.co.kr/view/?no=20150706164739&from=Mobile 요즘 뜨는 프로그래밍 언어는?]〉, 《ZDNet Korea》, 2015-07-07</ref>
+
동시성(Concurrency) 프로그래밍 언어로 장시간 주목받아온 얼랭은 [[라이선스]] 체제를 얼랭 퍼블릭 라이선스(Erlang Public License)에서 [[아파치]]v2(Apache Version 2.0)로 변경하면서 또 한 번 세를 넓힐 기회를 잡았다. 라이선스 변화로 얼랭이 기존보다 대중화되지는 않더라도, 언어 채택 시에 라이선스 간 마찰을 제거하고, 더 많은 사용자를 끌어들일 수 있을 것으로 보인다.<ref>김우용, 〈[http://www.zdnet.co.kr/view/?no=20150706164739&from=Mobile 요즘 뜨는 프로그래밍 언어는?]〉, 《ZDNet Korea》, 2015-07-07</ref>
  
 
=== 부정적 측면 ===  
 
=== 부정적 측면 ===  
 
+
[[코볼]]의 행보를 따라갈 가능성이 높은 개발 언어이다. 1980년대 많은 이들의 촉망을 받으며 등장했던 신예 프로그래밍 언어 얼랭은 어느새 시간이 지나 하나의 노장 개발 언어가 되었다. 통신, 뱅킹, 전자상거래 등의 실시간 환경에는 여전히 사용되고 있지만, 신생 경쟁 언어와 비교해보면 배우기가 어렵다. 다행스러운 것은 40대 이상의 중급 이상 프로그래머들에게는 아직 인기가 많다는 점이다.<ref>Dan Swinhoe, 〈[http://www.itworld.co.kr/news/108761 일부러 배울 필요는 없는 프로그래밍 언어 5가지]〉, 《IT World》, 2018-04-02</ref>
 +
 
{{각주}}
 
{{각주}}
  

2019년 6월 26일 (수) 11:15 판

얼랭(Erlang)의 로고

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

개요

얼랭은 덴마크의 수학자이자 통신이론을 연구한 아그너 크라루프 얼랭(Agner Krarup Erlang, 1878년 1월 1일 ~ 1929년 2월 3일)의 이름에서 따온 말이다. 초기에는 전화 및 통신 애플리케이션을 개발할 때 사용된 사설 프로그래밍이었다. 1998년 오픈소스로 전환한 후 페이스북 메신저 같은 프로젝트와 카우치디비 문서 지향 데이터베이스 관리 시스템 같은 현실적인 오픈소스 프로젝트에서 사용되어 유명세를 얻게 되었으며 현재는 널리 쓰이는 병행성 프로그래밍 언어로 자리매김하였다.

특징

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

활용

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

전망

긍정적 측면

동시성(Concurrency) 프로그래밍 언어로 장시간 주목받아온 얼랭은 라이선스 체제를 얼랭 퍼블릭 라이선스(Erlang Public License)에서 아파치v2(Apache Version 2.0)로 변경하면서 또 한 번 세를 넓힐 기회를 잡았다. 라이선스 변화로 얼랭이 기존보다 대중화되지는 않더라도, 언어 채택 시에 라이선스 간 마찰을 제거하고, 더 많은 사용자를 끌어들일 수 있을 것으로 보인다.[2]

부정적 측면

코볼의 행보를 따라갈 가능성이 높은 개발 언어이다. 1980년대 많은 이들의 촉망을 받으며 등장했던 신예 프로그래밍 언어 얼랭은 어느새 시간이 지나 하나의 노장 개발 언어가 되었다. 통신, 뱅킹, 전자상거래 등의 실시간 환경에는 여전히 사용되고 있지만, 신생 경쟁 언어와 비교해보면 배우기가 어렵다. 다행스러운 것은 40대 이상의 중급 이상 프로그래머들에게는 아직 인기가 많다는 점이다.[3]

각주

  1. 출처 : 얼랭 공식 홈페이지 - https://www.erlang.org/
  2. 김우용, 〈요즘 뜨는 프로그래밍 언어는?〉, 《ZDNet Korea》, 2015-07-07
  3. Dan Swinhoe, 〈일부러 배울 필요는 없는 프로그래밍 언어 5가지〉, 《IT World》, 2018-04-02

참고자료

같이 보기


  질문.png 이 문서는 로고가 필요합니다.  

  의견.png 이 얼랭 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.