You and Elixir in 2021/22/23

I am working on Manufacturing Execution Systems, abbreviated as MES. I’m encountering a significant amount of trouble concerning concurrency and stability; if the application crashes, it results in a production outage, which costs a lot of money and leads to difficult conversations with senior staff.

Consequently, I’ve been researching how people build applications that are highly scalable and infallible. You can likely understand why I’m here, then. Currently, I am delving into the “In Actions” books.

Transitioning to Elixir has been somewhat challenging for me as a C# developer. I don’t consider myself extraordinarily intelligent, I simply strive to do my best to improve. I am particularly fond of Ecto; working with the Entity Framework in C# was quite taxing on my sanity. Despite the comparatively lower number of programmers when set against C# or Java, I am astounded by how well-polished libraries in Elixir are.

8 Likes

What first drew you to it (how long ago!?)

7 years ago researching for a tool to simplify concurrency on pi’s I found the nerves project.
The ease of the nerves deployment and setup sold me. now the only issue was this Elixir language ( and BEAM ).

It didn’t take long from nerves to Phoenix.

and what keeps you here?

After the DREADED yearly plaugue of technology upgrades (libraries, OS, dependancies).
I tried hard to ignore them,
alas the catchup pain gets worse.

I have (except- cough- live view, tho I was an early adopter) never felt ANY update pain since moving to Elixir. Yes there are changes but nothing ‘breaks’. the Elixir/BEAM ecosystem for me takes care of stability.

How have you changed, perhaps while using it? (Maybe you came from an OOP language and your mental model on how to build things has changed?)

I am now paying at the alter of functional. My head has finaly moved away from OO abstraction layers to data flow.
Compared to an OO library everything is laid bare. easier to grok.

What do you think were the biggest strengths of Elixir/Erlang when you got into it and what do you think are its biggest strengths now?

probably what you don’t want to hear but tbh it is quite ‘boring’. BUT… this is the strength. you are never far away from very basic operations. There is a tremendous amount of power in the basics.

Is there anything you’d like to see more of or improved or included?
phoenix Contexts are very Un DRY. some basic search / sort strategies. nerves targets… try adding a rust lib.

Which bits do you love the most and which bits are you most likely to tell others about?
use, pipes, apply, captures, then, pattern matching, stability.
the only pushback I get is that kubernetes and pods handle ‘your’ old school concurrency. more knowledge of how this relates to elixir deployment would be useful.

What’s your single most important tip to newbies?

practice makes perfect. If you are coming from OO that imutability thing is wierd. persist the rewards will come.

Which book or learning resource has been your favourite to date?

programming Elixir. Then lots of online articles videos. ‘the soul of erlang’.

Are there any topics you’d like to see more Elixir or Erlang books or learning resources about?

Presence and Channels. I haven’t been there for a while but I found it disjointed a little. perhaps a live view esque rehash is on the cards?

6 Likes

I think it’s an exciting time to be aboard the Elixir train. I’m not diehard advocate of static typing, but the benefits in terms of tooling and adoption will be beneficial to the community IMO (except for the flame wars :fire: :imp:).

I’ve only been using the language for a few months, and I find there’s a lot more cognitive overhead in a complete end-to-end SPA-style framework compared to something like Django (my other framework of choice) which is more backend-oriented. But I’m enjoying the journey and I think this platform has a bright future ahead of it.

1 Like