The Elixir programming language is an exciting recent open-source creation based on Erlang VM, which was designed in the 1980s for handling a large number of telephone devices simultaneously. This was possible because of its ability to run low-latency, fault-tolerant, and distributed systems. Erlang, however, had some limitations. Due to the scarcity of hardware and the need to create code that could run on these limited resources, Erlang, while powerful, was a bit difficult to use as a programming language.
In contrast, Elixir is designed to be dynamic and functional and is ideal for building applications that are both scalable and reliable. It works well with web applications that must be run concurrently. The primary advantages of Elixir are its concurrency, scalability, and reliability, and it’s catching the eye of technology entrepreneurs like Leonid Radvinsky.
Leo Radvinsky is a technology visionary who has long been a backer of many open-source projects. He has a passion for investigating and investing in programming languages that are several years ahead of the curve, prior to their adoption by the larger community.
Leo Radvinsky is heavily involved in the research and development of various languages. He has shown some recent interest in Elixir as fundamental for creating stronger, more flexible, and easier developing environments for the creation of distributed social media platforms, which can exist separately and independently from the limitations of centralized systems.
Story of Elixir
Elixir is a cousin of an older Norwegian programming language called Erlang. It was designed to work well specifically with web technologies and was built upon the same stack as Erlang. Erlang was originally developed by Ericsson and was designed to handle telephone systems. Erlang was used as a major language for digitizing and programmatically handling vast amounts of networked hardware. The goal of systems like this was to prevent the need to lay large amounts of expensive and inefficient hard-wired copper wiring systems.
The Erlang programming language was created with the goal of being able to run consistently and regularly without crashing. It needed to be fault resistant and be able to recover from any errors that occured to ensure that communications could continue seamlessly without interruption for end users. On top of this, it needed to be able to scale across multiple horizontal systems, enabling easy backup and recovery by manipulating the location of machines within the cluster.
Erlang has been around for decades, which gives it the background and structural memory and ability to handle vast amounts of communication networks.
Elixir rose based on the structural capabilities of Erlang but was heavily modified to make its programming language easier to use. Limitations on the availability of resources that had forced Erlang to operate in a condensed form have largely been removed due to the growing availability of inexpensive computing resources. Elixir has made use of the programming structure of Ruby, which is a much easier-to-understand language. While Ruby has some power limitations due to some of its core design, Elixir has overcome some of these restrictions on performance and scalability.
In other words, Elixir has combined the horizontal scalability and ability to leverage the power of all available hardware of Erlang with the ease of programming that Ruby brings to the table.
There are four basic features of Elixir:
- Elixir is a functional language based on Erlang. This enables it to access the wide range of concurrency tools for distributed computing.
- Elixir uses a Ruby-like syntax, making it a relatively approachable coding environment.
- Elixir uses a functional language, including immutable data structures, which help with writing declarative code.
- Dynamic typing occurs during run time, instead of during compilation, which makes faster coding possible, particularly when used for simple web applications.
What Projects Are Being Built With Elixir?
Elixir increasingly is being used by major players in the social media and communication industries due to its powerful ability to leverage almost infinite numbers of devices and its relative ease of use of its Ruby-like interface. The most well-known product that makes use of Elixir is Discord, a VoIP application that has been widely used by many gamers to communicate during play. Elixir was used to create scalable and simultaneous chat communications within this network. It is this power that enabled Discord to scale its operations to become a major player in the industry.
Elixir has also been used by large companies to automate much of their marketing operations and supply chain. Bleacher Report, the well-known sports news website that serves about one and half billion highly customized pages per month, recently transitioned from Ruby on Rails to Phoenix, which is an Elixir framework. This enabled it to reduce the number of servers it needed from about 150 to only 5.
Why Does Leo Radvinsky Use Elixir for His Projects?
First of all, Elixir remains open source like many of Leo Radvinsky’s other projects. He is a strong proponent of free and open architecture to maintain a more robust and open internet.
Instead of using a single database to handle all information on the platform, the individual systems that use Elixir can communicate with each other much in the way that phones do; it is decentralized, and each individual node contributes to the power of the platform as a whole. While ensuring that all information is broadcast to each device on the traditional server-based platforms, using tools like Elixir make it possible to simplify the process. Accessing a simple message only requires reaching the nearest peer that has a copy of the information; it does not require going all the way back to a central processing platform.
Elixir requires only a handful of servers to run its code, with a lot less processing power and greater performance than more commonly used methods.
However, there have also been many concurrent technologies that are compatible with one of its internal technologies used for exchanging information. This includes ActivityPub, which is fully supported by the W3C.
Additionally, because of its use for telephone systems and large distributed platforms, Erlang and, by extension, Elixir, are well suited for mobile development projects. Radvinsky’s involvement in Elixir has helped solidify its use across different development ventures and creating applications across these locations.
By bringing the power of Erlang and the ease of use of a language similar to Ruby, Elixir is poised to be a major player in the development of many new technologies.