Encyklopedia / J / Język programowania Erlang

A
B
C
Ć
D
E
F
G
H
I
J
K
L
Ł
M
N
O
Ó
P
R
S
Ś
T
U
V
W
Y
Z
Ź
Ż
e4ae32af-140e-facc-1338-1e826da2ea16

Język programowania Erlang jest językiem czasu rzeczywistego. Został zaprojektowany pod kątem aplikacji współbieżnych uruchamianych w środowisku rozproszonym, gdzie szczególnie ważne są takie cechy jak skalowalność, odporność na awarie i długotrwała praca przy dużej liczbie wątków.
Powstał on jeszcze w latach 80-tych, a jego twórcą jest Joe Armstrong – pracownik firmy Ericsson. Nazwę tego języka można wziąć za skrót od dwóch angielskich słów: Ericsson oraz language, jednakże określenie Erlang zostało nadanae na cześć pierwszego naukowca w dziedzinie telekomunikacji: Agnera Krarupa Erlanga (1878-1929), matematyka duńskiego, pioniera teorii ruchu telekomunikacyjnego oraz teorii kolejek.

Erlang to język funkcyjny, dynamiczny, o ścisłym typowaniu, w którym nie istnieje pojęcie wątku – wszystkie zadania są procesami. Erlang obsługuje mechanizm tzw. hot-swapping’u, pozwalający na aktualizację kodu aplikacji bez jej zatrzymywania. Ma to szczególne znaczenie w urządzeniach telekomunikacyjnych, które muszą pracować 24h na dobę, 7 dni w tygodniu, 365/366 dni w roku. Erlang potrafi wykorzystywać możliwości maszyn wieloprocesorowych oraz wielordzeniowych, a także skalować aplikację na środowisko sieciowe, rozproszone w sposób przezroczysty – model współbieżności sprawia, że z punktu widzenia procesu nie ma różnicy między komunikacją z innym procesem uruchomionym na tym samym, czy na odległym węźle.

Erlang był własnościowym językiem programowania używanym przez Ericssona, jednak w roku 1998 kod źródłowy został otwarty, co przyczyniło się do popularyzacji tego języka wśród społeczności open source. Warto jednak zwrócić uwagę na rosnącą popularność systemu RabbitMQ na tle języka Erlang, co pokazuje rysunek:

Trendy wyszukiwania haseł w wyszukiwarce Google

Z powyższego wykresu wynika, iż język ten jest dojrzałym rozwiązaniem utrzymującym względnie stały stopień zainteresowania wśród specjalistów IT. Zgodnie z przypuszczeniami – głównym zastosowaniem tego języka są systemy telekomunikacyjne (między innymi GPRS, 3G, LTE), jednakże wraz z popularyzacją systemów tylko „rozproszonych” staje się on coraz popularniejszy także w innych sektorach IT.

Oto kilka projektów wykorzystujących język Erlang:

  • Chef,
  • CouchDB,
  • WhatsApp,
  • GitHub.

Język ten stosują w swoich rozwiązaniach między innymi następujące firmy:

  • Amazon.com,
  • Bet365,
  • Facebook,
  • Motorola,
  • T-Mobile,
  • Yahoo!

Na koniec warto wspomnieć, iż w pierwszym drukowanym numerze miesięcznika „Programista” ze stycznia 2012 roku można znaleźć artykuł pod tytułem „Erlang - język inny niż C++ czy Java”, którego lektura może pozwolić na bliższe przyjrzenie się jego funkcjom i możliwościom.
Okładka magazynu Programista 1/2012