Paradigma | multiparadigmatický: paralelní, funkcionální |
---|---|
Vznik | 1986 |
Autor | Ericsson |
Vývojář | Ericsson |
Poslední verze | 26.2.3[1] ( 7. března 2024) |
Typová kontrola | dynamická, silná |
Hlavní implementace | Erlang |
Ovlivněn jazyky | Prolog |
Ovlivnil jazyky | Clojure, Scala |
OS | Multiplatformní (Linux, UNIX-like, Windows) |
Licence | Pozměněná MPL |
Web | www.erlang.org |
Erlang je multiparadigmatický programovací jazyk, specializovaný pro tvorbu distribuovaných, vysoce dostupných aplikací, odolných proti selhání. Sekvenční podmnožina jazyka je založena na funkcionálním paradigmatu s dynamickou typovou kontrolou. Erlang obsahuje jazykové konstrukty pro rychlou a snadnou tvorbu procesů, jejich vzájemnou komunikaci a správu.
Joe Armstrong, Robert Virding a Mike Williams navrhli a vyvinuli první verzi jazyka v roce 1986. Původně se jednalo o proprietární jazyk společnosti Ericsson, v roce 1998 byl uvolněn jako open source.[2]
Zápis jazyka vypadá takto:
-module(fact).
-export([fac/1]).
fac(0) -> 1;
fac(N) when N > 0 -> N * fac(N-1).
Implementace algoritmu Quicksort:
%% quicksort:qsort(List)
%% Sort a list of items
-module(quicksort).
-export([qsort/1]).
qsort([]) -> [];
qsort([Pivot|Rest]) ->
qsort([ X || X <- Rest, X < Pivot]) ++ [Pivot] ++ qsort([ Y || Y <- Rest, Y >= Pivot]).