3 ms·
I've worked in Elixir every day for the past 5 years. Things I like using it for: - long running services - doing anything w/ concurrency - setting up cron-
by devoutsalsa 6y ago
I've worked in Elixir every day for the past 5 years.
Things I like using it for:
- long running services
- doing anything w/ concurrency
- setting up cron-like processes that run every so often
- actor model anything
- stateful services
- web development using Phoenix & Ecto
- parsing
- encoding/decoding
Things I don't like are primarily related to it being a small enough community. That means libraries for third party services aren't always the best, and using it in the enterprise means that the smaller talent pool is less attractive when the company's priority is to use proven/boring tech for which you can hire tons of developers. I also don't think Elixir has a clear value proposition when you're writing small, single purpose functions for a serverless architecture (even though I really like writing it), or when you're company decides to go all in on Kafka for communication between micro services.
Just my two cents.
- davidw 6y agoI think those are all pretty good fits. The single unix process that BEAM uses is more conducive to some kinds of systems than some of the hackier-feeling solutions for the Rails ecosystem to tie different pieces together.
- zumu 6y ago> or when you're company decides to go all in on Kafka for communication between micro services. What's the issue with Kafka and Elixir?
- pselbert 6y agoThere isn't an issue with Kafka and Elixir, it's the inherent complication around using Kafka when a lighter weight solution (Rabbit, PG) would work perfectly fine.
- deleted 6y ago[deleted]
- toolz 6y agoI hear the 3rd party library complaint a lot, but as someone who has been writing elixir professionally for about as long as you have I just haven't seen that. Speaking of kafka, the clients aren't as far along as the official clients, but the same can be said for almost all languages. Being able to utilize erlang libraries means there are a ton of heavily production tested libraries you can easily drop into an elixir project.
- devoutsalsa 6y agoMy current job uses a mix of Java & Elixir. I definitely feel the pain of using the Elixir client when the Java client offers so much. I also encountered some pain with the AWS client for Elixir when our company implemented SSO. There was a lack of support for a certain flavor of environment variable if I recall correctly. It's not horrible, just a pain.
- toolz 6y agosure, but which languages would be capable of dodging the "not enough libraries" complaint if java is the baseline? Maybe 2 or 3?
- deleted 6y ago[deleted]
- toolz 6y ago> C#/.NET, Go, JavaScript/Node, Ruby, Python, C++, and PHP probably all do way better than Elixir in third party support. hard disagree on all but c++, .net and maybe python I think people forget erlang has been around a long long time and I've written ruby for years and can speak with great confidence that the equivalent ruby libraries in elixir are typically much higher quality