Erlang is a general-purpose, functional programming language, with an emphasis on concurrency and high reliability, as well as a development environment, or code compiled to bytecode that runs inside of a virtual machine.
The term Erlang is used interchangeably with Erlang/OTP, which includes the Erlang runtime system, several components written in Erlang, and a set of design principles for Erlang programs. The components of the standard edition of Erlang include are its development tools, which include the compiler, debugger, profiler, and test frameworks, as well as its Open Telecom Platform (OTP) framework, web server, advanced tracing tools, and Mnesia database, which is a key/value storage system that can replicate itself on many servers.
Erlang was designed for Ericsson, a Swedish telecommunications company, in the mid-1980s with the intention of improving the development of telephony applications. The original version of the language was written in Prolog, and influenced by PLEX. The Prolog interpreter proved to be too slow, so work began on BEAM, the virtual machine that is currently at the core of the Erlang/OTP, part of the runtime system that compiles Erlang and Elixir source code into bytecode.
Erlang was originally proprietary software, developed by Joe Armstrong, Robert Virding, and Mike Williams, for Ericsson. In 1998, Ericsson changed its policies to give preference to non-proprietary software, announcing discontinuance of its use of Erlang in new products. Armstrong and others left Ericsson, and Erlang was open-sourced later that year, under the Apache Public License. Ericsson reversed its policies later and rehired Armstrong in 2004, and Erlang/OTP is maintained by the Open Telecom Platform unit at Ericsson.
Among the advantages of Erlang is its ability to develop software quickly and efficiently, to be able to update software on the fly, without halting execution. As compared to other languages, Erlang is tolerant of software errors and hardware failures.
Erlang has been used by several large firms worldwide, such as T-Mobile and Nortel, and is also used to power some MMORPG servers.
The language was influenced by PLEX, Prolog, Lisp, and Smalltalk. It has, in turn, influenced the design of Akka, Clojure, Dart, Elixir, F#, Opa, Oz, Reia, Rust, and Scala.
The focal point of this guide is on the Erlang programming language and other programs and tools within its ecosystem, such as compilers, IDEs, editors, and so on. Erlang user groups, forums, tutorials, guides, and related topics are also appropriate here.
Categories
LFE |
 
 
Recommended Resources
The official site for the Erlang programming language offers a free download of the most recent version of Erlang/OTP, along with a quick-start guide to the language, as well as in getting started with OTP, a set of Erlang libraries and design principles providing middle-ware to develop these systems. Downloads of past versions are also available, and potential incompatibilities are noted. Online documentation, and suggested Erlang books are featured.
https://www.erlang.org/
Home to the Erlang developer community, Erlang Central serves as a venue for users of Erlang/OTP to work with Ericsson to secure the health, well-being, and commercial success of the Erlang programming language outside of Ericsson, where it was developed and nurtured. Its efforts in community growth, collaboration, and open development are recognized, job opportunities are posted, a developer wiki is available, and a blog offers informational posts.
https://erlangcentral.org/
Organized by Erlang Solutions, the Erlang Factory is a two-day tech conference in the San Francisco Bay region, as well as organizing or co-organizing Erlang Factory Lite conferences all over the world, focused on the Erlang programming language, offering teaching workshops, keynote speakers, and networking opportunities related to the language and related technologies. Past conferences are archived and schedules of upcoming programs are highlighted, including sponsorships.
http://www.erlang-factory.com/
Instructions and information about programming in Erlang on a Raspberry Pi computer and setup, running Raspbian, beginning with the download of the language files, the installation, and setup, then discussion the Erlang graphics library, including its use on a small screen, ports to communicate with all of the hardware connected to the Raspberry Pi, the use of TCP sockets, including the pigpio daemon, which can be integrated in the Erlang application. Links to other resources are included.
https://elinux.org/Erlang
Erlang Traffic and Queuing Software
Specializing in software for telephony, data networking, banking, retail, and other industries, its products include the Erlang-G Program, a Windows program that models traffic levels and computers required resources for the telephony industry, and Erlang Plug-Ins, which add Erlang calculations to Windows applications like MS-Excel or MS-Access, as well as the Erlang source code, an Erlang Equations Reference, and Voice-Over-IP bandwidth calculator, each of which are highlighted here.
http://www.erlang-software.com/
Erlang is a programming language created at Ericsson in Sweden in the late 1980s. Serving as a hand-on tutorial, the site is an Erlang shell, in which users can try the language out in a browser. Each instruction needs to be terminated by a period. Parsing or syntax errors will be presented in response to code that is outside of the Erlang syntax. The commands, prev and next, can be used to navigate through the tutorial steps in the event that someone gets stuck during a tutorial.
https://www.tryerlang.org/
Erlide is the Eclipse plugin for the Erlang programming language. The editor features all of the generic Eclipse functionality, adding several Erlang-specific features, such as syntax highlighting, indentation of Erlang code, automatic completion of Erlang modules, and several other features which are outlined here, along with full documentation, a user’s guide, downloads of stable, beta, and nightly releases, along with news and announcement, bug reports, and other resources.
https://erlide.org/
The GRiSP project makes building Internet-connected hardware devices easier with Erlang, offering real bare-metal Erlang virtual machines, with real-time event handling, using open-source code, and Digilent Pmod compatible connectors for sensors and actuators. The project status and recent activities are highlighted, and the original GRiSP-Base board is available for purchase, with documentation, technical specifications, developer resources, and online shopping area.
https://www.grisp.org/
Available for free when used in open-source packages, or for a monthly or yearly subscription when used in private projects with teams of users, its pricing is published to the site. Hex is a package manager for the Erlang ecosystem and can be used with Elixir and with the Erlang programming language. Almost ten thousand packages are available, representing more than fifty thousand versions. The instructions for getting started and publishing packages are given, and documentation is available.
https://www.hex.pm/
The Erlang plugin for the IntelliJ IDEA features a code editor for code completion, syntax and error highlighting, and code inspections, a code navigator with project and structure views, quick jumping between files, modules, functions, and usages, as well as tools and frameworks integration with support for Eunit and Rebar, and VCS integrations with Subversion, Git, and Mercurial. Cross-platform, it works on Windows, Mac, and Linux platforms, and may be downloaded from GitHub.
http://ignatov.github.io/intellij-erlang/
Learn You Some Erlang for Great Good
The beginner’s guide to the Erlang programming language is written by Fred Hebert, with a foreword from Joe Armstrong. The book began as a free online guide, and may still be read that way in its entirety, or a bound copy may be purchased online, and the code may be downloaded in a compressed .zip file. The book is organized by chapters and sub-chapters, the chapters being an introduction, starting out, starting out (for real), modules, syntax in functions, types, recursion, and so on.
https://learnyousomeerlang.com/
Stuff Goes Bad: Erlang in Anger
Written by Fred Hebert, the author of Learn You Some Erlang for Great Good, this free e-book is a guide on how to fix problems in Erlang code. It includes a collection of tips and tricks to help understand where failures come from, as well as a dictionary of different code snippets and practices that can assist developers to debug production systems built in the Erlang programming language. The e-book is available without charge and may be downloaded in PDF format.
https://erlang-in-anger.com/
Udemy: Erlang Programming for Beginners
Udemy is an online educational company offers industry-specific training programs in a large variety of areas, offering completion certificates to those who complete the course. Its Erlang course offers the history and an introduction to the programming language, Erlang syntax, how lists work in Erlang and to be able to manipulate them and to be able to write small Erlang programs. The course includes 2.5 hours of video, articles, and lifetime access to materials.
https://www.udemy.com/course/erlang-programming-for-beginners/