최근 수정 시각 : 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 ]
||<tablewidth=100%><width=9999><-4><bgcolor=#FFA500><tablebgcolor=#fff,#1c1d1f> 2024년 Stackoverflow 설문조사 기준 인기 상위 25개 프로그래밍 언어 ||
1 JavaScript 14 Rust
2 HTML, CSS 15 Kotlin
3 Python 16 Lua
4 SQL 17 Dart
5 TypeScript 18 어셈블리어
6 Bash 19 Ruby
7 Java 20 Swift
8 C# 21 R
9 C++ 22 Visual Basic
10 C 23 MATLAB
11 PHP 24 VBA
12 PowerShell 25 Groovy
13 Go
[ TIOBE 2025 ]
||<tablewidth=100%><width=9999><-4><bgcolor=deepskyblue><tablebgcolor=#fff,#1c1d1f> 2025년 2월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 Fortran
2 C++ 12 Scratch
3 Java 13 Rust
4 C 14 PHP
5 C# 15 R
6 JavaScript 16 MATLAB
7 SQL 17 Assembly language
8 Go 18 COBOL
9 Delphi / Object Pascal 19 Ruby
10 Visual Basic 20 Prolog
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);"
{{{#!folding [ 21위 ~ 50위 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
21 Swift 36 VBScript
22 Classic Visual Basic 37 PL/SQL
23 Kotlin 38 TypeScript
24 Ada 39 GAMS
25 SAS 40 Solidity
26 LISP 41 ABAP
27 Haskell 42 Logo
28 Dart 43 D
29 (Visual) FoxPro 44 Bash
30 Perl 45 PowerShell
31 Scala 46 Elixir
32 Lua 47 RPG
33 Objective-C 48 ML
34 Julia 49 Ladder Logic
35 Transact-SQL 50 Awk
}}}}}}}}} ||
[ PYPL 2025 ]
||<tablewidth=100%><width=9999><-4><bgcolor=green><tablebgcolor=#fff,#1c1d1f> 2025년 3월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 Swift
2 Java 12 Go
3 JavaScript 13 Kotlin
4 C/C++ 14 MATLAB
5 C# 15 Ada
6 R 16 Dart
7 PHP 17 Ruby
8 Rust 18 Lua
9 TypeScript 19 PowerShell
10 Objective-C 20 VBA

}}} ||
프로그래밍 언어 목록 · 분류 · 문법
<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만 달러 이상 절감하고 있다고 한다. #