RE2 Programming

Erlang Programming as a whole package for developers!!

What is Erlang?
Erlang is a general-purpose functional programming language designed for creating concurrent, scalable systems of programs with high availability guarantees. It can be used to create a system of programs that can be spread through a network of computers. Like java, erlang also supports multithreading and uses a virtual machine. Erlang is targeted at servers and embedded systems that need extreme reliability. Instead of emphasizing on execution of commands, it focuses on the evaluation of expression. More than 80 universities in the world teach erlang as a programming language and it is now freely available as an open-source code.
Erlang Programming
What is OTP?
OTP is a collection of Erlang libraries and design principles that serve as middleware for these systems’ development. It comes with its own distributed database, GUI software for other languages, and debugging and release management tools.
Why do developers prefer Erlang?
There are numerous advantages of erlang over other popular languages. The three major advantages which makes it unique in its own way are:
1. Concurrency: Erlang has its own virtual machine, called BEAM, that uses threads that are lightweight, for execution. These are independent processes that run on all CPUs and communicate through messages. Erlang makes it easier to write concurrent programs because of this and the language’s functional existence.

2. Scalability: For the multicore CPUs and distributed nature of modern computing, erlang is a well-suited language. We can easily scale systems using Erlang processes, either by adding more machines to the system or by adding more cores to existing machines or CPUs. Erlang makes it very comfortable for us.

3. Reliability: “Let it crash” is Erlang’s slogan. Because of the supervisor system’s unique fault-tolerance approach, lightweight processes can be easily restarted, allowing you to build self-healing systems. Although this does not seem to be a secure method, it is capable of dealing with the majority of bugs that aren’t caused by serious implementation errors.
What are the benefits of Erlang?
1. Erlang is one of the best choices when building a platform for communication between multiple agents or users as it can handle an insane amount of parallel and concurrent users. The most famous chat applications, WhatsApp and WeChat, use erlang as their underlying technology. Erlang has a very impressive messaging framework called “ejabberd” that can be used to develop chat apps with massive traffic.

2. Erlang can also be used to build web applications. It is ideal for building scalable and fast web applications. Even the libraries of the language, Erlang, are very well documented.

3. Erlang’s dynamic data types allow programmers to create system components (such as message dispatchers) which doesn’t mind what type of data and how much data they’re dealing with, as well as those that strictly impose data type constraints or determine how to behave based on the data they receive.

4. Erlang also provides developers with garbage collection in their code, which means that the programmer does not need to worry about returning allocated memory space.

5. Erlang offers a mechanism for distributing programs through a pool of servers, with automated replication and recovery in the event of a server failure.

6. Erlang is very easy to learn and implement when compared to popular languages like C, C++ and Java.
What kinds of applications is Erlang best suited for?
Erlang provides a really good fit for distributed, reliable, soft real-time concurrent systems. The real-life applications of erlang are:

● Erlang has a very wide application and scope in the telecommunication industry in the whole world. Examples for this can be, changing protocols or monitoring a switch.

● Erlang is very effective in developing servers for internet applications. It has contributed as a mail transfer agent, an IMAP-4 server, etc.

● In addition to its use in telecommunication systems, Erlang has also been used in telecommunication applications such as managing mobility in a mobile network or offering seamless communications are two examples of what you can do.

● Erlang also has applications in the database applications that need the behavior as soft real-time.