How to sell a company on Elixir that favours dotnet and nodejs

There are people who understand it and people who don’t.

Of the ones who do, never underestimate the power of job security as a deterrent to reducing maintenance burden. I’ve seen it first hand too many times.

Here is my contribution to this topic.

3 Likes

As C# dev by profession, learning Elixir didn’t take long. I have to say it was LOT easier to be fluent with it compared to F# because it felt so much simpler. Also immutability by default without loopholes is great. I don’t really get hard to hire part. Just get someone good in programming (knowledge of functional programming probably helps) and let them learn it, it shouldn’t take long.

I think .NET Core/.NET 5 is also great because you have so much 1st party things and you don’t have to reach for 3rd party very often. Most of 1st party libraries are open source now if not all. You even have 1st party actor frameworks like https://github.com/dotnet/orleans , https://github.com/dapr/dapr (multi-language but not production ready) and https://github.com/microsoft/coyote
Also C# 8 added nullable reference types that made those pesky null reference exceptions pretty much go away.

Our company uses Microsoft Orleans and it’s been used for things like Halo back end services and in Skype for some parts to name a few. Here is how Microsoft uses it internally https://youtu.be/KhgYlvGLv9c (Orleans at Microsoft)

From what I’ve tried NodeJS, I complete hate its ecosystem most of it’s probably because of NPM and I don’t feel like it’s suitable for high traffic sites. I mean it can work there but quite likely needs lot more hardware and tuning compared to .NET Core/.NET 5 or Elixir/BEAM.
Edit: wanted to clarify that I’m talking about server side. For client side single page apps NodeJS is pretty much way to go currently but WASM can change that in future. I would use TypeScript instead of JavaScript with it because it’s just so much better for bigger projects.

I really like when platform gives one main web framework like ASP.NET Core for .NET and Phoenix for Elixir. It’s so much easier when googling things if you have problems.

I also don’t understand why would it be unproven tech because Elixir is just nicer (nicer from my point of view) interface to Erlang. There is WhatsApp and Nintendo is using Ejabberd for Nintendo Switch Push Notification infrastructure just to name a few. Those two must be really high traffic systems.

Facebook lets WhatsApp to use Erlang even when rest of the company is mostly using something else.

2 Likes

I remember watching this talk (or a version of it) a good while back, and it helped me understand Elixir concurrency better. Good stuff. :slight_smile:

2 Likes

Unproven tech. Man I nearly fell of my chair!

Haha, same. Like - you’re probably using Erlang when you post that sentence or read this one. From my post:

For example, you may have heard that 90% of all internet traffic goes through Erlang-controlled nodes, with Cisco alone shipping 2 million devices a year that use Erlang.