Erlang (programovací jazyk)

Erlang
Paradigmamultiparadigmatický: paralelní, funkcionální
Vznik1986
AutorEricsson
VývojářEricsson
Poslední verze26.2.3[1] (20240307a7. března 2024)
Typová kontroladynamická, silná
Hlavní implementaceErlang
Ovlivněn jazykyProlog
Ovlivnil jazykyClojure, Scala
OSMultiplatformní (Linux, UNIX-like, Windows)
LicencePozměněná MPL
Webwww.erlang.org
(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
LYME je založena na Erlang a poskytuje alternativu k LAMP

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]

Kód

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]).

Reference

  1. GitHub – erlang/otp – Release OTP-26.2.3 (anglicky)
  2. ARMSTRONG, J. A history of Erlang. Proceedings of the third ACM SIGPLAN conference on History of programming languages (HOPL). 2007-06-09. ISBN 978-1-59593-766-7. Dostupné online [cit. 2022-01-07]. DOI 10.1145/1238844.1238850. (anglicky) 

Externí odkazy

Média použitá na této stránce

LYME software bundle.svg
(c) Shmuel Csaba Otto Traian, CC BY-SA 3.0
The LYME (software bundle) (and LYCE (software bundle)) are composed of
  1. Linux (Linux kernel, glibc, etc.)
  2. Yaws or some other web server written in Erlang
  3. Mnesia or CouchDB and
  4. Erlang to serve dynamic web content.
Erlang logo.svg
logo of the programming language Erlang