Aquest article tracta sobre el llenguatge de programació. Vegeu-ne altres significats a «Erlang (desambiguació)». |
Tipus | llenguatge de programació multiparadigma, concurrent programming language (en) , llenguatge de programació funcional, llenguatge de programació declaratiu, llenguatge de programació, programari de codi obert, programari lliure i habilitat |
---|---|
Data de creació | 1986 |
Disseny | Joe Armstrong |
Desenvolupador | Joe Armstrong, Ericsson i Robert Virding |
Epònim | Agner Krarup Erlang i Ericsson |
Paradigma de programació | Programació declarativa, programació funcional, computació concurrent i programació multiparadigma |
Darrera versió estable | 27.2 () |
Llenguatge de programació | Erlang |
Influenciat per | ML, Prolog, Lisp, PLEX, Smalltalk, Miranda, Ada, Modula-2 i CHILL |
Sistema operatiu | multiplataforma |
Extensió dels fitxers | erl |
Codi font | Codi font |
Llicència | Llicència Apache, versió 2.0 i Erlang Public License (en) |
Pàgina web | erlang.org |
Erlang és un llenguatge de programació concurrent i un sistema d'execució (en anglès runtime) que inclou una màquina virtual (BEAM, acrònim de "Bogdan/Björn's Erlang Abstract Machine")[1] i biblioteques (OTP: "Open Telephony Platform").[2] El subsistema seqüencial és un llenguatge de programació funcional amb tipus dinàmics i avaluació estricta. El subsistema concurrent segueix el Model d'Actors.
Erlang era originalment un llenguatge de la casa Ericsson per ésser usat en equips de comunicació, però va ser editat com a codi obert el 1998.[3]
Ericsson va posar al llenguatge el nom d'Erlang com a tribut a Agner Krarup Erlang matemàtic danès pioner en l'estudi de xarxes de telecomunicacions (que també dona el seu nom a una mesura d'ús de la xarxa)[4] i també per la coincidència amb "Ericsson language".[5]
El compilador erlc per defecte genera codi intermedi amb extensió .beam perquè el runtime l'interpreti. Però hi ha d'altres formats i opcions.[6]
Existeix un compilador HiPE (High performace Erlang compiler)[7] desenvolupat per la Universitat d'Uppsala i actualment integrat en la distribució de codi obert. Per utilitzar-lo cal afegir el paràmetre [native] a l'ordre de compilació.[8]
Hi ha un compilador a codi Scheme anomenat EToS.[9]
Existeix també una distribució aprimada "Stand-alone Erlang"[10] que genera executables i no codi intermedi (requereix instal·lar des de l'usuari "joe").