3FanYu

3FanYu

Any thoughts on how to introduce Elixir to Rubyists & Gophers?

Hello, Elixir Enthusiasts!

I’m in a bit of a unique position where I have the opportunity to shine a spotlight on Elixir for my team. We’re hosting a series of weekly technical sharings, and it’s my turn to present. Given that our company’s tech stack predominantly revolves around Ruby on Rails and Golang, I’m eager to introduce my colleagues to the wonders of Elixir.

I believe that Elixir’s unique features and its robust ecosystem could offer fresh perspectives and solutions to our current practices. However, I want to ensure that my presentation resonates well with Rubyists and Gophers alike. To do this, I’m seeking insights from you guys.

What do you think are the “killer features” of Elixir that would appeal most to developers experienced in Ruby and Go?

Most Liked

D4no0

D4no0

For golang developers you can tell them that you have the same lightweight concurrency without any deadlocks or other low-level problems that golang concurrency has at its API level.

You can always show them some intricate pattern matches (and their equivalent in other languages), don’t forget about binary pattern match, a killer feature in itself (also a good example of some binary parser section in elixir vs other languages might be welcome).

For rails developer, there is phoenix, you could show them some shiny new things that they don’t have (for example how heex can validate html at compile-time).

Another killer feature is runtime interaction and observability. This video by @sasajuric is an absolutely great demonstration of that.

I would skip fault-tolerance (maybe just mention it and if there are questions you can expand on that), as for people that never used erlang VM this is an unknown concept that needs a separate talk in itself. If you could come with a simple but effective demo to showcase that for a real-life problem, it might be well worth to display that too.

Distribution, livebook, nx, bumblebee are also a great topic. These things are beyond what those languages can achieve, however you could showcase them for example how easy is to connect to a remote machine and run a computational task with livebook.

gregvaughn

gregvaughn

Watch the video @D4no0 linked by Saša Juric (The Soul of Erlang and Elixir) for shock value.

pdgonzalez872

pdgonzalez872

You mentioned the community and I’m taking that as not just Elixir itself, so I’ll answer it within this context:

  • Ecto, the sql part
  • Ecto, the non-sql part (@gregvaughn’s talk is one of my favorites :heart:)
  • Pattern Matching
  • Liveviews that update themselves periodically
  • GenServers that update themselves periodicaly

That’s what I’d try to squeeze in a work intro session.

Where Next?

Popular in Discussions Top

PragTob
Hello everyone, I know we had quite some threads (read through lots of them) about background job processing but it remains a hotly deba...
New
jeramyRR
This is an interesting article to read. Elixir’s performance, like usual, is excellent. However, it seems like the high CPU usage is co...
New
thojanssens1
It would be nice to be able to define a redirect from one route to another from the router.ex file. E.g.: redirect "/", UserController, ...
New
arpan
Hello everyone :wave: Today I am very excited to announce a project that I have been working on for almost 3 months now. The project is...
New
ricklove
I was just introduced to Elixir and Phoenix. I was told about the 2 million websocket test that was done 2 years ago. From my research, t...
New
crabonature
I’m still quite new to Elixir. As I understand we got in Elixir “multi guards” as convention to simplify one large guard with or’s?: de...
New
WolfDan
After doing a port from a c++ library to my project in phoenix I’ve seen that I need a faster way to run this algorithm and I found this ...
New
sergio
There’s a new TIOBE index report that came out that shows Elixir is still not in the top 50 used languages. It also goes on to call Elix...
New
CharlesO
Erlang :list.nth simple, but 1 - based nth(1, [H|_]) -> H; nth(N, [_|T]) when N > 1 -> nth(N - 1, T). Elixir Enum.at … coo...
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New

Other popular topics Top

TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 41454 115
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 52238 488
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New

We're in Beta

About us Mission Statement