Elixir: A Mini-Documentary Sep 09 2019 16:33 languageMoneyScience
keyboard_arrow_downkeyboard_arrow_up Visit resource
Get ready to explore the origins of the #Elixir programming language, the manner in which it handles concurrency and the speed with which it has grown since its creation back in 2011.
Featuring José Valim, creator of Elixir, and several other big names from the Elixir community, including Justin Schneck, co-author of the Nerves Project, and Chris McCord, the creator of the Phoenix Framework, this documentary highlights the power of open-source development and the role of Elixir in enabling developers to achieve things that were impossible, or prohibitively expensive, to do before.
[José Valim - Creator of Elixir] 0:00
With CPU's speeds approaching physical limits, computers started to add cores in order to perform more functions on a given time (parallelism)
In the '80s telephones were spreading everywhere. If you had a city with millions of people the way to scale the network was to install a bunch of telephone switches. As you had information coming and going, and to solve this problem Ericcson created Erlang.
The solution they did for this problem is perfect for the problems we're having right now with concurrency, with the web in general.
That was when I had the idea of creating a programming language with this beautiful piece of software (the Erlang virtual machine) I want to use it more but it's missing some stuff and I want to try to add this missing stuff.
Elixir is an alternative for the programming community to solve all these challenges that we're having right now.
[Stefan Kellner - CEO of Quixxit] 2:47
We thought it would be a great idea to have this in a UI. We realized this was a hard thing to do. For every search we had to open a lot of connections to different transport operators, we had to consume this data and process it in a smart way, and it had to be fast.
One of the characteristics was scalability, and this is one thing that elixir is very good, it needs very few resources on the server so we really fast came to the conclusion that elixir was the right solution for our problem.
We post on job boards and we also train people on elixir. We have some hiccups in the code, some bugs that we created, but we've never had outages in terms of infrastructure which for me is a very good indication that this is the right technology because I never experienced this before.
[José Valim - Creator of Elixir] 4:43
One of the big things about elixir is that we can build distributed software (software that runs in more than one machine)
Go to 5:00 for demonstration
What is exciting about this that we can build technology that runs on these nodes, for example, the phoenix framework has a pub mechanism that allows you to send a message to everyone connected to a single machine or the presence feature that allows you to see who's joining and who is leaving in a cluster. All of this without adding databases or third-party dependencies.
One of the things since the beginning is to open source. I also knew for this to happen I'd have to go out and talk to people and make them excited about it.
We've seen an uptick in people using elixir, people are actually starting to bet on this so you don't feel alone because other people believe in the potential and this interest kept growing and in July 2014 was the first elixir event.
[Justin Schneck - Co-Author of Nerves Project] 8:45
Such a great vibe, everyone gets along
[Martin Obberstein - solarisBank] 8:52
When I started with elixir I was amazed by the documentation that even was available at that time
[Georgina McFadyen - Software Developer] 8:58
Elixir typically has always been great for concurrency and fast so if you're solving those kinds of problems it's a really good choice
[Chris McCord - Creator of Phoenix Framework] 9:07
Whether you're building something that runs on a Raspberry Pi five dollar computer or a forty core server, elixir is going to be fantastically suited for.
[Evadne Wu - Software Engineer] 9:16
You can't exactly replicate the environment in which people from the community are all in a single place.
[Justin Schneck - Co-Author of Nerves Project] 9:27
Elixir is going to be on a track to conquer more and more industries, some of the obvious ones we've seen are web development but the scalability isn't just confined to building websites, we work together with Chris and Jose from the nerves side of things in order to increase the number of concurrent connections and push the boundaries of how many devices we can actually simultaneously connect to Phoenix for example, because we really believe it has capabilities of internet of things, on the scale of millions of devices and having that kind of connectivity really opens up the language
[Chris McCord - Creator of Phoenix Framework] 10:17
Phoenix is a web framework for the Elixir programming language, it's really like batteries included for the platform. The first version written supported 30,000 users and with a few changes in like 10 lines of code it gave us 2 million users, the kind of problems that businesses had to use 100 servers in production now they can use 2 servers and I think this is bringing people in, this promise of things that were either impossible to do before or prohibitively expensive to do now as a single developer or a couple of people you can come in and build something really compelling that wouldn't be doable for.
[José Valim - Creator of Elixir] 11:00
José talks about conferences popping up and how people come up with new use cases that he didn't expect.