Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Erlang (programming language)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Programming language}} {{Use dmy dates|date=March 2020}} {{Infobox programming language | name = Erlang | logo = Erlang logo.svg | logo size = 140px | paradigms = [[Multi-paradigm programming language|Multi-paradigm]]: [[Concurrent programming|concurrent]], [[Functional programming|functional]] | family = | designer = {{unbulleted list|[[Joe Armstrong (programmer)|Joe Armstrong]]|Robert Virding|Mike Williams}} | developer = [[Ericsson]] | released = {{Start date and age|1986}} | latest release version = {{wikidata|property|edit|reference|P348}} | latest release date = {{start date and age|{{wikidata|qualifier|single|P348|P577}}}} | typing = [[type system|Dynamic]], [[strong typing|strong]] | scope = | implementations = Erlang | dialects = | influenced_by = [[Lisp (programming language)|Lisp]], [[PLEX (programming language)|PLEX]],<ref>{{cite web |url=https://vimeo.com/97329186 |title=Joe Armstrong - Functional Programming the Long Road to Enlightenment: a Historical and Personal Narrative |first=N. D. C. |last=Conferences |date=4 June 2014 |publisher=Vimeo}}</ref> [[Prolog]], [[Smalltalk]] | influenced = [[Akka (toolkit)|Akka]], [[Clojure]],<ref>{{cite web|url=http://radar.oreilly.com/2011/06/clojure-java-lisp-jvm.html|website=radar.oreilly.com|title=Clojure: Lisp meets Java, with a side of Erlang - O'Reilly Radar}}</ref> [[Dart (programming language)|Dart]], [[Elixir (programming language)|Elixir]], [[F Sharp (programming language)|F#]], [[Opa (programming language)|Opa]], [[Oz (programming language)|Oz]], [[Reia (programming language)|Reia]], [[Rust (programming language)|Rust]],<ref>{{Cite web |url=https://doc.rust-lang.org/reference/influences.html |title=Influences - The Rust Reference |website=The Rust Reference |access-date=2023-04-18}}</ref> [[Scala (programming language)|Scala]], [[Go (programming language)|Go]] | file ext = .erl, .hrl | license = [[Apache License 2.0]] | website = {{url|https://www.erlang.org}} | wikibooks = Erlang Programming }} '''Erlang''' ({{IPAc-en|ˈ|ɜr|l|æ|ŋ}} {{respell|UR|lang}}) is a [[General-purpose programming language|general-purpose]], [[concurrent computing|concurrent]], [[Functional programming|functional]] [[High-level programming language|high-level]] [[programming language]], and a [[Garbage collection (computer science)|garbage-collected]] [[runtime system]]. The term Erlang is used interchangeably with Erlang/OTP, or [[Open Telecom Platform]] (OTP), which consists of the Erlang [[runtime system]], several ready-to-use components (OTP) mainly written in Erlang, and a set of [[Systems architecture|design principles]] for Erlang programs.<ref>{{cite web |url=http://erlang.org/doc/system_architecture_intro/sys_arch_intro.html#id58791 |title=Erlang – Introduction |website=erlang.org |access-date=6 February 2017 |archive-date=8 September 2019 |archive-url=https://web.archive.org/web/20190908105859/http://erlang.org/doc/system_architecture_intro/sys_arch_intro.html#id58791 |url-status=dead }}</ref> The Erlang [[runtime system]] is designed for systems with these traits: *[[Distributed computing|Distributed]] *[[Fault tolerance|Fault-tolerant]] *[[Soft real-time]] *[[High availability|Highly available]], [[Uptime|non-stop]] applications *[[Hot swapping#Software|Hot swapping]], where code can be changed without stopping a system.<ref>{{cite web |last1=Armstrong |first1=Joe |last2=Däcker |first2=Bjarne |last3=Lindgren |first3=Thomas |last4=Millroth |first4=Håkan |title=Open-source Erlang – White Paper |url=http://ftp.sunet.se/pub/lang/erlang/white_paper.html|archive-url=https://web.archive.org/web/20111025022940/http://ftp.sunet.se/pub/lang/erlang/white_paper.html |archive-date=25 October 2011 |access-date=31 July 2011}}</ref> The Erlang [[programming language]] has [[Immutable object|immutable]] data, [[pattern matching]], and [[functional programming]].<ref>Hitchhiker’s Tour of the BEAM – Robert Virding http://www.erlang-factory.com/upload/presentations/708/HitchhikersTouroftheBEAM.pdf</ref> The sequential subset of the Erlang language supports [[eager evaluation]], [[single assignment]], and [[dynamic typing]]. A normal Erlang application is built out of hundreds of small Erlang processes. It was originally [[proprietary software]] within [[Ericsson]], developed by [[Joe Armstrong (programmer)|Joe Armstrong]], Robert Virding, and Mike Williams in 1986,<ref name="hopl">{{cite conference |last=Armstrong |first=Joe |title=History of Erlang |work=HOPL III: Proceedings of the third ACM SIGPLAN conference on History of programming languages |date=2007 |isbn=978-1-59593-766-7}}</ref> but was released as [[free and open-source software]] in 1998.<ref>{{cite web|url=http://www.cio.com/article/3020454/open-source-tools/how-tech-giants-spread-open-source-programming-love.html|title=How tech giants spread open source programming love - CIO.com|date=8 January 2016|access-date=5 September 2016|archive-date=22 February 2019|archive-url=https://web.archive.org/web/20190222070551/https://www.cio.com/article/3020454/open-source-tools/how-tech-giants-spread-open-source-programming-love.html|url-status=dead}}</ref><ref>{{cite web |url=http://www.erlang.se/onlinenews/ErlangOTPos.shtml|archive-url=https://web.archive.org/web/19991009002753/http://www.erlang.se/onlinenews/ErlangOTPos.shtml|url-status=dead|archive-date=9 October 1999 |title=Erlang/OTP Released as Open Source, 1998-12-08}}</ref> Erlang/OTP is supported and maintained by the Open Telecom Platform (OTP) product unit at [[Ericsson]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)