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

Donovan
Hello everyone, I’m so glad to have discovered this awesome community. Thanks for creating it! This is my second post, and apologies for...
New
sashaafm
I’m trying to evaluate the best combo/stack for a BEAM Web app. Right now I’m exploring Yaws a bit, after having dealt with Phoenix for a...
New
pillaiindu
I want to convert a Phoenix LiveView CRUD website to a CRUD mobile app. What do you think is the easiest way to do so?
New
Crowdhailer
I’ve been hearing much about the new formatter and it’s something I have been keen to try. I find examples buy far the most illuminating...
248 19204 150
New
Ankhers
Just a little information upfront. Generally speaking, if I feel like I need to either break a pipe chain or use an anonymous function in...
New
tmbb
This is a post to discuss the new Phoenix LiveView functionality. From Chris’s talk, it appears that they generate all HTML on the serve...
342 18146 126
New
rms.mrcs
A couple of days ago I was discussing with a friend about different approaches to write microservices. He said that if he was going to w...
New
RudManusachi
What configs will make sense to put to runtime.exs? – A bit of how I configure apps: I have generic configs in config/config.exs, dev...
New
AstonJ
If so I (and hopefully others!) might have some tips for you :slight_smile: But first, please say which area you’re finding most challen...
New
scouten
I’m looking for a host for the server part of a small (personal) side project that I’m working on. It’s currently written in Node.js and ...
New

Other popular topics Top

aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 53690 245
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
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
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New
dogweather
I wrote this comment on r/haskell, and it’s not popular there. :wink: But I think I’m on to something… Haskell reminds me of Java, and e...
New

We're in Beta

About us Mission Statement