From telecommunications and banking to instant messaging, e-commerce and more, Erlang is used in wide range of real-world applications. This versatile general-purpose programming language and garbage-collected runtime system is used primarily for developing concurrent and distributed systems.
Origins of Erlang
Like most modern-day programming languages, there’s a deep story behind the origins of Erlang. The telecommunications company Ericsson pioneered the language during the mid 1990s as a proprietary language for telephone applications. In 1998, it was released as open-source, allowing anyone to take a shot at developing their own applications in Erlang. Since then, it has gradually become more and more popular, due largely to its use by major companies like Facebook (it’s used in the social media network’s chat system). Erlang is also used in the database management framework CouchDB.
Erlang received its namesake based on the Danish engineer Agner Krarup Erlang, who was responsible for inventing the fields of traffic engineering and queueing theory.
Mechanics Behind Erlang
Because it has roots in telecommunications software, Erlang has several key characteristics that aren’t found in other programming languages. For instance, it’s built around a concurrency model that supports the execution of individual code blocks multiple times. Erlang also features an error model that’s used to identify and fix process failures. This fault-tolerance encourages a higher level of reliability by ensuring that applications and processes will continue to function in the event of a failure. Erlang even allows for components to run on one machine and requested on a different machine.
Erlang embraces the principles of functional programming, meaning its functions and operations mirror those of mathematical equations. It operates by taking input and then generating an output. Erlang’s functional programming allows for greater consistency of output values when the same input is given; thus, making it easier to predict the output of a particular function and subsequently easier to identify problems and debug.
Some of the most notable characteristics of Erlang include the following:
- Distributed –components coordinate through passing messages to achieve a common goal.
- Fault-tolerance — continues to function and operate in the event of a partial failure.
- Soft real-time — flexibility in its real-time requirements.
- Readily available, non-stop applications — as the name suggests, Erlang applications are readily available and constantly running.
- Hot-swapping — allows the code to be modified without stopping the system.
You can download the latest version of Erlang, as well as its associated documents and files by visiting the official Erlang website at https://www.erlang.org/downloads.
Thanks for reading, follow your passion by finding the perfect course, just for you over on www.stoneriverelearning.com.