Erlang (programovací jazyk)
Paradigma | multiparadigmatický: paralelní, funkcionální |
---|---|
Vznik | 1986 |
Autor | Ericsson |
Vývojář | Ericsson |
Poslední verze | 26.2.3[1] (20240307a7. 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]
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
Externí odkazy
- Obrázky, zvuky či videa k tématu Erlang na Wikimedia Commons
Programovací jazyky | |
---|---|
abecední seznam programovacích jazyků | |
multiparadigmatické | |
strukturované (procedurální) | |
objektové | BETA • Boo • C# • Eiffel • Java (Groovy, Kotlin) • JavaScript • Object Pascal • Objective-C • Smalltalk • VB.NET |
funkcionální | Clean • Ceylon • Erlang • Haskell • J • Lisp • Wolfram Language / Mathematica • Miranda • OCaml • Scheme |
dotazovací | |
logické | Gödel • Prolog |
výukové | |
ezoterické | |
historické | |
další | ABAP • AppleScript • ColdFusion • JSA • Julia • MATLAB • R • Visual Basic (VBScript) • Vimscript • Visual FoxPro |
skriptovací/strojový kód • kompilované/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 | |
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 • Jelix • Kohana • Kolibri • KumbiaPHP • Laravel • Midgard • Nette Framework • Orinoco • PHPonTrax • PRADO • Qcodo • Qcubed • Seagull • Simplicity • Symfony • WASP • Yii Framework • Zend Framework • Zope |
Python | |
Ruby | Hanami • Merb • Ruby 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) |
Portály: Internet