Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Erlang (programming language)
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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!
===Processes=== Erlang applications are built of very lightweight Erlang processes in the Erlang runtime system. Erlang processes can be seen as "living" objects ([[object-oriented programming]]), with data encapsulation and [[message passing]], but capable of changing behavior during runtime. The Erlang runtime system provides strict [[process isolation]] between Erlang processes (this includes data and garbage collection, separated individually by each Erlang process) and transparent communication between processes (see [[Location transparency]]) on different Erlang nodes (on different hosts). Joe Armstrong, co-inventor of Erlang, summarized the principles of processes in his [[Doctor of Philosophy|PhD]] [[thesis]]:<ref>{{Cite thesis |last=Armstrong |first=Joe |title=Making reliable distributed systems in the presence of software errors |date=20 November 2003 |degree=DTech |publisher=The Royal Institute of Technology |place=Stockholm, Sweden}}</ref> *Everything is a process. *Processes are strongly isolated. *Process creation and destruction is a lightweight operation. *Message passing is the only way for processes to interact. *Processes have unique names. *If you know the name of a process you can send it a message. *Processes share no resources. *Error handling is non-local. *Processes do what they are supposed to do or fail. Joe Armstrong remarked in an interview with Rackspace in 2013: "If [[Java (programming language)|Java]] is '[[write once, run anywhere]]', then Erlang is 'write once, run forever'."<ref>{{cite AV media |last=McGreggor |first=Duncan |date=26 March 2013 |title=Rackspace takes a look at the Erlang programming language for distributed computing |medium=Video |language=en |url=https://www.youtube.com/watch?v=u41GEwIq2mE&t=3m59s | archive-url=https://ghostarchive.org/varchive/youtube/20211211/u41GEwIq2mE| archive-date=2021-12-11 | url-status=live|publisher=Rackspace Studios, SFO |access-date=24 April 2019}}{{cbignore}}</ref>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Erlang (programming language)
(section)
Add topic