DEV Community

Cover image for Elixir - A dynamic programming language from Brazil
codemonkcm
codemonkcm

Posted on • Originally published at codemonk.ai

Elixir - A dynamic programming language from Brazil

Are you a programming expert with ago-to programming language for every project? Or do you pick and choose them according to the project requirements? If you belong to the second category, then you will know about Elixir or will like what it has on offer.

Elixir, according to its developers, is a scalable, highly functional, and dynamic programming language. A practically new entrant amongst the seasoned player, Elixir presents itself as a significant contender, bringing to the table some unique and yet, practical features. The large and expanding community of Elixir developers in Brazil is a proof that there is proof that the language has some good things to offer.

So, let's understand what Elixir is and why it seems to attract the developer community in Brazil.

Elixir- Technical Facts:

The idea behind Elixir and its development came from JoséValim, a Brazilian developer initially in 2011 and then in 2012. He built it on Erlang, a platform known for its high functionality and extensive library since it has been around for more than three decades in the market.

So, the good news was that Elixir had a substantial background and base to work on, even from the beginning. And José and his core team, with his experience working with Ruby programming language, took lessons from some of its drawbacks and leveraged the advantages of Erlang to create a new platform. Using the bytecode BEAM from the Erlang Virtual Machine, the new language came with the benefit of tackling excess user spikes. As a result, the product comes with innovative features to attract the world's programming community, more so the Brazilian developer community.

Here is a look at some of the noteworthy features of Elixir:

While there are many tools and features in Elixir, some are consistent with their applicability and ease of use. The immutable nature of the language makes data consistent and safe, with no change for further additions to the existing thread. Another pointer that adds in favor of Elixir is the way the lightweight threads of executing the program, called Processes, work. With its nature to remain light and with no over-loading, it allows users to run more processes concurrently, thereby giving way for scalability.

Apart from these, below are some of the most-favored ones that the developer community looks for from Elixir:

Refactoring Benefits

Code refactoring is something that all developers need to do at some point to clean up an already existing process. While refactoring is done as a part of maintenance or clean-up, it can lead to accidental damages to the code if not done with utmost care. Elixir comes with the benefit of immutability to allow refactoring without breaking down anything important. Elixir allows refactoring without significantly altering the existing code and changing its external behavior.

Easy testability and Conciseness

Elixir offers the flexibility to develop small functions with utmost precision as a programming language. The small threads or processes make it easy to isolate, test, or change to redefine it quickly. There is an accuracy of data between what passes through the function, and the output, making the process easily testable. With testability established, it negates the need to go over the whole process to make fundamental changes.

Fault Tolerant

Another advantage of small threads or processes is that the bug only affects certain parts when there is a fault. So, whenever there is a bug, the best way with Elixir is to revamp the affected part after it crashes. Since it is not going to bring down the whole program, a developer can just quickly fix the fault to get it running again in no time. The fault tolerance makes Elixir all the more popular since it saves the headache of everything crashing down upon them because of one faulty issue.

Versatile and Process-focussed

We have heard of polymorphism, yes! But polymorphism in a programming language? Well, Elixir can polymorph to give a developer the ability to add new features and functionalities, making it a universal language. From web applications to advanced embedded systems, Elixir can provide a developer with the ease to transform and plug-in features necessary for a project.

Elixir Community in Brazil?

There is no debate on the fact that Elixir offers some exclusive features to work upon, ensuring a fan following-especially in the Brazilian developer communities. One of the reasons as to why only Brazil or why there are more followers in Brazil alone for Elixir may be due to its Brazilian base?

When a developer or a community of developers put in a word for a new change in code base or suggestions, all they need is to email their recommendations. Or it may also be because the core team, who manages the change in the Elixir code base, welcomes community participation through emails? The core team promises to look into the matter and incorporate or at least work on a suitable solution to make it easier for the developers.

The popularity of Elixir has now spilled over to a global level, too, with several major players in the market working on the language. Some notable examples are Pinterest, Discord, Adobe, and other fintech and eCommerce sites.

Last Thoughts:

With its functional and dynamic quality and ability to work on IoT (Internet of Things) and other embedded frameworks, Elixir might see more footfalls in its database. While not many developers want to move away from low-programming and traditionally used languages such as C, the versatility may give leverage to the new entrant in the near future.

Top comments (0)