Erlang is a functional programming language that implements dynamic typing. Its main feature is programming at the level of individual processes. Check this post for an in-depth look at this language today. We’ll learn how it all started.
Erlang was developed when Ericsson founded its Ericsson Computer Science Laboratory (CSLab) in 1981. The CSLab was dedicated to improving the technology used in telecommunications systems, and one of its first tasks was to implement parallelism in the Prolog language.
At that stage, there was no mention of a separate language because the researchers were extending the capabilities of Prolog. In 1987, the first serious experiment using theoretical developments was conducted, and mentions of Erlang appeared. Although the name can be interpreted as an abbreviation of Ericsson Language, the official version is that it comes from the name of the Danish mathematician Agner Krarup Erlang, famous for his telecommunications research.
So, Erlang had a name, but for three years, it did not have a syntax and was widely considered a dialect of Prolog. However, while Prolog is a logical programming language, Erlang belongs to functional programming languages. Later, in 1990, the syntax was revised to make it more expressive, and a virtual machine replaced the interpreter. The commercial distribution began in 1993 when Ericsson formed a separate division.
Today, Windows distribution, available for download from erlang.org, includes a language compiler, a runtime with multiprocessor emulation support, documentation, and a set of libraries and OTP tools, like Mnesia. Mnesia is a distributed DBMS written entirely in Erlang with data replication support and the ability to dynamically change its schema and update its code without interrupting work. Mnesia uses Erlang as the control language and makes distributed data transparent to applications – they work the same with local data and those hosted on a remote site.
Achievements of Erlang
Even thou it is not the most popular programming language, Erlang is still deeply integrated into the infrastructure of many corporations, and most of its original killer applications are still in use. Plus, we have a lot of interesting new projects, and some of the best frameworks in the world have been created for Erlang and Elixir. Because of its roots in Erlang, Elixir’s reliability and robustness are often called its most significant advantages. Elixir software developers are not always easy to find for an in-house team, but outsourcing them the most sophisticated part of your project is always a good option. The ultimate example is its ability to update an application without restarting.
Also, the size of the community has never hindered the spread of Erlang around the world. The language has always been in a position where there aren’t enough tasks for all Erlang programmers and not enough programmers for all tasks: there are many of both, but they are not always geographically matched. Corporations and workers who enter remote labor markets do best.
And if before Erlang could not easily penetrate the market of web applications, now, with minimal modifications, the whole Elixir-tasking market is open to it.
It is probably not too important for the big picture of the world whether you use a language like Erlang or not. In our opinion, it is underrated and could become more widely used. The main advantage of Erlang – it is easy to learn the basics of designing robust systems.
Erlang’s syntax can be learned within a day or two. The programming principles will take more time — a week or two. The programming paradigm is quite complicated, and it’s hard to switch to it, especially for those who only worked with imperative languages. However, if you are interested in functional programming, Erlang is worth a look.