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
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

Programovací jazyky
abecední seznam programovacích jazyků
multiparadigmatické
Ada • C++Common Lisp • D • F# • Go • Oberon • PerlPHPPythonRuby • Rust • Scala • Swift • Tcl (Tk) • Vala
strukturované (procedurální)
AWK • C • COBOLDCL • Forth • FortranLuaModula-2 / Modula-3 • Pascal • PawnPL/SQL
objektové
BETA • Boo • C# • Eiffel • Java (Groovy, Kotlin) • JavaScriptObject PascalObjective-CSmalltalkVB.NET
funkcionální
Clean • Ceylon • Erlang • Haskell • J • LispWolfram Language / Mathematica • Miranda • OCamlScheme
dotazovací
LINQSPARQLSQLXQueryXSL (XSLTXSL-FOXPath)
logické
Gödel • Prolog
výukové
Baltazar • Baltík • Karel • Kodu Game Lab • Logo • Microsoft Small Basic • Petr • Scratch
ezoterické
BefungeBrainfuckHQ9+MalbolgeOok!PietWhitespace
historické
ALGOL • APL • B • BASICCPL (BCPL) • J • MUMPSPL/ISimula 67SNOBOL
další
ABAPAppleScriptColdFusionJSA • Julia • MATLAB • R • Visual Basic (VBScript) • VimscriptVisual FoxPro
skriptovací/strojový kódkompilované/interpretované • interaktivní/dávkovéWYSIWYG
Webové aplikační frameworky
ASP.NET
ASP.NET MVC • BFC • DotNetNuke • MonoRail • Umbraco
C++
CppCMS
ColdFusion
ColdSpring • Fusebox • Mach-II • Model-Glue • on Wheels • onTap
Common Lisp
ABCL-web • BKNR • SymbolicWeb • UnCommon Web
Java
AppFuse • Flexive • Grails • GWT • ItsNat • JavaServer Faces • Makumba • OpenXava • Reasonable Server Faces • Restlet • RIFE • Seam • Spring • Stripes • StrutsTapestryVaadin • WebWork • Wicket • ZK
JavaScript
AngularJS • Archetype JavaScript Framework • Bonsai (framework) • Brick (framework) • CreateJS • D3 • Dojo • Ember • Enyo (framework) • ExtJs • FabricJS • Fleegix • JavaScriptMVC • jQuery • jTypes • KineticJS • Knockout.js • Lo-dash • midori • MooTools • NodeJs • PaperJS • Processing.js • Prototype • qooxdoo • Raphael (framework) • React • RightJS • Shipyard • SimpleJS • SproutCore (JavaScript/Ruby) • Spry • The X Toolkit • Thorax (framework) • Tree.js • UIZE • Underscore • Vue.js • WebApp Install • YUI • Zepto (framework)
Perl
Catalyst • Dancer • Interchange • Mason • Masser • Maypole • Mojolicious • OX • PEE • Plack • WebGUI
PHP
Agavi • Akelos • CakePHP • Chisimba • CodeIgniter • Garden Platform • Horde • JelixKohana • Kolibri • KumbiaPHP • Laravel • Midgard • Nette Framework • Orinoco • PHPonTrax • PRADO • Qcodo • Qcubed • Seagull • Simplicity • Symfony • WASP • Yii Framework • Zend FrameworkZope
Python
DjangoFlask • Pyjamas • Pylons • TurboGears • web2pyZope
Ruby
Hanami • MerbRuby on Rails • Sinatra
Scala
Lift
Smalltalk
AIDA/Web • Seaside
Ostatní jazyky
Application Express (PL/SQL) • Fusebox (ColdFusion a PHP) • OpenACS (Tcl) • Yaws (Erlang) • HAppS (Haskell)
Autoritní data Editovat na Wikidatech
  • GND: 4324177-3
  • LCCN: sh93000031
  • NLI: 987007544092105171