As a venture capital investor and technology entrepreneur, Leonid Radvinsky is a strong proponent of open-source technology. Making software open source removes cost as a barrier to entry and allows people from all over the world to use the software and contribute to its development. As an open-source language that provides decentralized solutions to web-based development, Elixir points to the future of web development.
For technology to be useful to the majority of people, there must be existing applications that are compatible with it. Elixir is designed to be compatible with numerous other programming languages and technologies, and Radvinsky is pursuing methods of expanding that ecosystem. For example, Elixir uses ActivityPub to communicate across multiple servers. ActivityPub is a common protocol used for decentralized social networking, and the use of this protocol makes Elixir compatible with the Fediverse, a collection of interconnected social media servers. Another useful tool is Cowboy, a server built on Erlang and fully compatible with Elixir. Cowboy provides a fast, modern HTTP server for web development that can easily integrate with Elixir.
Leonid Radvinsky's vision for Elixir is that it becomes widely accessible and used across several industries. Already, Elixir is used across many industries by businesses in social media and web development. To increase the ecosystem of software built on Elixir, Radvinsky supports the use of Elixir language as a technology standard. Leonid Radvinsky was a platinum sponsor for the Elixir Conference in 2019, and he has funded various ventures to investigate and create apps using the Elixir programming language. By making Elixir the standard for his open-source projects, Radvinsky is investing in the future of this technology.
What Is Elixir?
Elixir is an open-source functional programming language that focuses on creating decentralized architecture for web-based development. The language is built on Erlang, a general-purpose programming language built for resiliency. Like Erlang, Elixir is designed to recover from errors quickly and never crash. Elixir supports a level of fault tolerance that few other languages support, allowing the system to continue functioning in the event of software failures. Elixir's level of robustness makes it easier to scale software and handle data concurrently without needing to guard heavily against possible catastrophic failures. Because Elixir is designed for web developers rather than general use, it takes inspiration for its syntax and approaches to development from Ruby.
As a programming language, Elixir supports the development of decentralized architecture for web-based platforms. It also provides easily scalable solutions for software development within that ecosystem. When creating software in Elixir, data is managed across multiple servers. Each of these servers has the ability to broadcast information to any connected web browsers. Additionally, these servers can communicate with each other using the ActivityPub protocol. Each decentralized server is responsible for managing its own information, rather than relying on a centralized point of ground truth.
This decentralized approach to information management makes architecture built on Elixir easier to scale. Each server can process its own data concurrently, so scaling a system built on Elixir is as simple as adding more servers. Because each server built on Elixir functions independently, each can also operate based on its own specific parameters and expectations. This design also makes the architecture of Elixir more efficient, since the language allows servers to process data easily and concurrently across multiple servers.
This technology is already used to build the infrastructure of some large companies. For example, Discord is built on Elixir, taking advantage of Elixir's decentralized design to create its own chat servers. Discord has scaled Elixir to support five million concurrent users.
Additionally, WhatsApp is built on Erlang and has scaled its platform to support 900 million users with only 50 engineers.
Benefits of Elixir
Elixir is designed to optimize for robustness, consistent performance, and easy scalability for web development. It is built on a language designed for robustness, Erlang, and Elixir itself has gone through years of development. Over time, both languages have gone through rigorous testing for errors and edge cases, allowing them to become even more stable. Because Elixir is an open-source programming language, large numbers of developers have been able to access the code from the beginning. This process of group development makes it easier for developers to catch and fix bugs or identify sources of potential future errors. Through this development process, Elixir has become a stable language that provides consistent performance for web developers.
As a functional programming language, Elixir has also been designed specifically to provide web-based solutions. As a result, it is uniquely optimized for the scaling of web technology. Elixir's architecture supports the storage of information across multiple interconnected servers, rather than relying on one source of ground truth, and allows information on one server to be broadcast to users around the world. This decentralized approach to information management makes web communication easier to scale, since each server can manage data concurrently.
The architecture of Elixir also provides another benefit for scalability. Typically, scaling web-based software requires incorporating a number of different technologies to achieve solid performance. With Elixir, many of those dependencies disappear. To scale web-based software developed in Elixir effectively, developers just need to add more Elixir servers.
These servers can be configured easily to communicate with each other, simplifying the process of architecting an entire web development infrastructure. A single Elixir server with more than two million web socket connections can send a message to all of its connections in less than a second, quickly broadcasting a message to all of the web browsers connected to that server. Because each server functions independently, this model scales easily when adding new servers.
For developers new to the language, Elixir also provides a number of entry points for learning about the technology. There are a variety of guides and learning tools that are accessible to both new and experienced developers. There is also a huge community of developers involved with Elixir, with an active forum where anyone can ask or answer questions.
How Are Leonid Radvinsky and His Team Using Elixir?
Leonid Radvinsky and his team are exploring ways that they can expand the ecosystem of web-based software built on Elixir. Radvinsky envisions that Elixir will become used across several different industries and applications. In pursuit of this goal, his team is looking to use the technology to create an open-source social media platform that allows users to share images and videos. By building this platform on Elixir, an open-source programming language that provides decentralized architecture, users would be able to manage their own data and communities without relying on centralized platform governance.
Leonid Radvinsky is focused on pursuing research and development of this emerging technology. He and his team aim to use Elixir to create the next generation of web development and social media software. As the number of applications built on this technology expands, Radvinsky believes that its appeal to new developers will only grow. He is continuing to fund the creation of applications built on Elixir so that this ecosystem of web applications can flourish. Radvinsky believes that Elixir is the future of web development, so he has made it his standard for open-source projects.