최근 수정 시각 : 2024-10-08 15:41:20

Elixir(프로그래밍 언어)

이 문서는 토막글입니다.

토막글 규정을 유의하시기 바랍니다.


프로그래밍 사이트 선정 프로그래밍 언어 순위 목록
{{{#!wiki style="margin: 0 -10px -5px; word-break: keep-all"
{{{#!wiki style="display: inline-table; min-width: 25%; min-height: 2em;"
{{{#!folding [ IEEE Spectrum 2024 ]
{{{#!wiki style="margin: -5px 0"
<rowcolor=#fff> 스펙트럼 부문 상위 10개 프로그래밍 언어 직업 부문 상위 10개 프로그래밍 언어
1 Python 1 SQL
2 Java 2 Python
3 JavaScript 3 Java
4 C++ 4 TypeScript
5 TypeScript 5 SAS
6 SQL 6 JavaScript
7 C# 7 C#
8 Go 8 HTML
9 C 9 Shell
10 HTML 10 C++
}}}
}}}
}}}
[ Stack Overflow 2024 ]
[ TIOBE 2024 ]
||<tablewidth=100%><width=9999><-4><bgcolor=deepskyblue><tablebgcolor=#fff,#222> 2024년 8월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 MATLAB
2 C++ 12 Delphi / Object Pascal
3 C 13 PHP
4 Java 14 Rust
5 C# 15 Ruby
6 JavaScript 16 Swift
7 SQL 17 Assembly language
8 Visual Basic 18 Kotlin
9 Go 19 R
10 Fortran 20 Scratch
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);"
{{{#!folding [ 21위 ~ 50위 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
21 COBOL 36 Scala
22 Classic Visual Basic 37 Transact-SQL
23 LISP 38 PL/SQL
24 Prolog 39 ABAP
25 Perl 40 Solidity
26 (Visual) FoxPro 41 GAMS
27 SAS 42 PowerShell
28 Haskell 43 TypeScript
29 Dart 44 Logo
30 Ada 45 Wolfram
31 D 46 Awk
32 Julia 47 RPG
33 Objective-C 48 ML
34 VBScript 49 Bash
35 Lua 50 Elixir
}}}}}}}}} ||
[ PYPL 2024 ]

}}} ||
프로그래밍 언어 목록 · 분류 · 문법
<colbgcolor=#ffffff,#1f2023> 엘릭서
Elixir
파일:elixir-horizontal.png
제작자 José Valim
출시 2012년
버전 1.16.3
라이선스 아파치 라이선스
파일:홈페이지 아이콘.svg | 파일:GitHub 아이콘.svg 파일:GitHub 아이콘 화이트.svg | 파일:디스코드 아이콘.svg
1. 개요2. 특징3. 도서4. 기타

[clearfix]

1. 개요

% Print 'Hello World!':

IO.puts("Hello World!")

% Fibonacci example:

def fib(0), do: 0
def fib(0), do: 1
def fib(n), do: fib(n-2) + fib(n-1)

엘릭서 프로그래밍 언어는 José Valim이 설계했으며, Plataformatec의 연구과제이다. 그는 얼랭 도구와 생태계를 계승하면서 얼랭 VM에서 작동하는 높은 확장성과 생산성을 가진 언어를 만들고자 하였다.


2. 특징

  • 엘릭서 컴파일러는 소스코드를 얼랭 가상 머신용 바이트 코드(BEAM, Bogdan's Erlang Abstract Machine)로 컴파일한다.
  • 모든 것은 expression이다. side effect를 동반하는 statement와는 다르다.
  • 얼랭 함수들은 런타임 영향 없이 엘릭서에서 호출될 수 있다.
  • 메타 프로그래밍을 지원한다.
  • 프로토콜이라고 불리는 메커니즘에 의해 다형성을 지원한다. 클로저 reducers에서 영향을 받았다.
  • 마크다운 형식언어의 문서화를 지원한다.
  • 메시지 전달 방식을 지원한다.(Actor model)
  • 루프 대신에 재귀와 고차원 함수를 강조한다.
  • 얼랭의 메카니즘을 활용하여 경량 동시성을 지원한다. (e.g. Task)
  • Lazy와 async collections을 지원한다.
  • 패턴매칭을 지원한다.
  • 유니코드를 지원하며 스트링들은 UTF-8이다.

3. 도서

처음 배우는 엘릭서 프로그래밍
엘릭서 프로그래밍을 다루는 유일한 한국어 번역서이다.

4. 기타

Pinterest에서 Elixir를 도입하여 서버를 95% 줄여서 서버 비용을 연 200만 달러 이상 절감하고 있다고 한다. #