If you’ve been following us on Twitter, you probably already know the whole Codegram team went to Berlin to see ElixirConfEU 2016: We’ve been slowly shifting towards Elixir/Phoenix for the last few months and showing up to the biggest european Elixir event looked like the natural next step.
Starring the most prominent speakers on the Elixir community like José Valim, Chris Mccord or Saša Jurić, ElixirConfEU didn’t disappoint. Of course we liked some talks more than the others, but going to a conference is not just about the content — it’s the whole experience that matters. Feeling inspired by and connected to the community surrounding a language has incredible value — it makes the whole programming gig more enjoyable.
The conference itself was a great experience with a tight, on-time schedule, amazing food, coffee & drinks and even a drinkup just before the lightning talks - that was, uh, sponsored by us :). The MC was great and able to make some really clever jokes after each talk and that definitely helped set the mood for the whole event. The fact that the conference was held inside a hotel where we were able to stay was also a huge plus!
Here's what we've learned:
Elixir is not a niche language anymore.
Gone is the time where you would “play” with Elixir in your own spare time, just for fun. With what the community has built in the short existence of the language, there’s already a library for everything. Elixir has reached escape velocity and it’s growing, fast. You should use Elixir in production, today.
José Valim is a world-class community leader
The conference started as it was meant to be: With a Keynote from José Valim, Elixir’s designer and benevolent dictator. If you come from the Ruby/Rails world, you probably already know him for being part of Rails core, gems like Devise, and a really large etc.
His experience in running open-source projects really shows in the way Elixir is driven. He’s a bold, thoughtful individual who also is keen on taking feedback and listening to the community. It’s no coincidence Elixir’s growing at that rate — we bet on José being one of the main reasons.
During his keynote, he talked about the past, present and future of the language. There's an ambicious, yet down-to-earth roadmap in the Elixir language. We're very much looking forward to see where that path leads.
He also introduced the new Elixir Forum, recently launched learning resources like Elixir School and talked about tentative new abstractions as
DynamicSupervisor or the
GenStage couple meant to replace
GenEvent while adding back-pressure capabilities. Awesome stuff!
Lessons have been learned
Elixir is not Ruby and Phoenix is not Rails. That has been said much, but maybe not enough. Yes, there's a clear syntax and structural similarity, and both are build with programmer friendlyness in mind - but it ends there. It's a different community, with different motivations and a clear focus on many aspects that have been long dismissed in the Ruby world: Concurrency, Resiliency, Performance, Distribution.
Frameworks like Phoenix are built from the ground up not to be your application and instead play with your business rules side-by-side. They embrace the power of BEAM, not neglect it. They are built on top of incredibly powerful primitives for today's web.
Elixir embraces Computer Science
In its presentation, "Phoenix 1.2 and Beyond", Chris McCord showed us how Elixir (and BEAM, and Erlang, and OTP) enables us to find solutions that circumvent the classic let's put Redis in the mix to achieve incredible next-gen features.
The whole audience was in left in awe when Chris showed Phoenix's Presence feature: A full-fledged, distributed, resilient and conflict-free solution for handling user's presence in a socket channel. All of it while leveraging CRDTs in a fearless attempt to bring top-notch CS into the framework.
Not only that, but he accidentally implemented a generic distributed registry feature - something that he claimed had in the roadmap and wouldn't tackle because it would take a lot of time. His point was that wasn't a coincidence but rather a consequence of the well-thought primitives the language is built on.
Elixir spikes interest in the multiplayer gaming world
It's no coincidence two of the talks were about how Elixir is a great fit for the gaming industry. Keith Salisbury talked about how Phoenix and its Channels were great in combination with Phaser.js and Roope Kangas showed how there's also huge benefits in modeling the backends with processes in his Three Games in Elixir talk.
Elixir is expanding outside of the web
One of the talks that left us wanting to get straight to coding was Justin Schneck's "Enhanced Embedded Systems with Nerves", a framework that he co-created that allows Raspberry-like devices to run Embedded Elixir.
Nerves not only enables interaction with the hardware, but it boots in less than 4s thanks to the ability to implement some of the processes that are usually run on the OS directly in the application, such as loading the wi-fi modules. Why do we need systemd if we can have supervision trees?
Paul Wilson showed later on how it had been easy for him to build a saxophone-playing robot that he was able to show on stage.
It turns out you can even run Phoenix inside nerves, allowing you to expose a web interface in your hardware that is efficient & robust. Embedded Elixir + Phoenix Channels + sensors + distributed systems, anyone?
There's much, much more going on
There was lots of other thrilling stuff presented on the conference - we just made a summary of the most interesting stuff for us. But we encourage you to keep an eye on the videos the ElixirConfEU crew have been releasing for the last few days:
Next stop: Barcelona!
In an unexpected turn of events, the organization made an announcement: ElixirConfEU 2017 is going to take place in Barcelona! The audience immediately applauded to that - not that Berlin isn't an amazing city, but what can beat a conference by the beach?
We'll surely attend Elixir Conf 2017, not just because it'll take place in our home city, but because we're eager to see what can Elixir and its community achieve in the following year.
Many thanks to Erlang Solutions (ElixirConfEU 2016's organizers) and their sponsors for a great work.
See you next year in Barcelona!