omerss2311
As a developer with experience in many languages, Elixir feels very attractive to me because of its (and in general the OTP platform’s) uniqueness. However, so far it feels like I’m missing something. Every thread about this talks about mass concurrency, but that just isn’t that useful? Like I genuinely haven’t found a use for it outside of (very) big data analysis and networking. I feel like I’m missing something though? Like I look at the documentation for OTP and for Elixir, and it feels like it has huge potential but I can’t seem to find a use for it. Any thoughts?
Trending in Discussions
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
New
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
I’m posting this in response to Jose’s recent tweet (Cr. link) :
People are sleeping on Elixir for a coding harness:
Hot-code swappi...
New
It would be helpful to have a list of companies worldwide that hire engineers without prior experience in Elixir. Often, it can be quite ...
New
Anyone running long-lived stateful processes on BEAM? We’re building an AI agent runtime and would love to compare notes.
We’re a small ...
New
This might be a bit disturbing for some but it’s happening - computers running on living human neurons. They’ve made them smart enough t...
New
Other Trending Topics
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
Aludel - LLM Evaluation Workbench
Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #blog-post
- #ai
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming











Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
jhogberg
@ferd wrote a wonderful take on it a few years back, it talks mostly about Erlang, but all of it is applicable to Elixir.
dominicletz
My personal Nr#1 strength of Elixir is that you will be able to write production grade software in less lines of code than any other language. This means you will spend less time to create and maintain it, spend less money as a company to push a feature out and create less bugs for your customers.
The functional nature and process isolation do help here a ton and protect your from a whole class of bugs, while at the same time enabling the “let it crash” way of error handling which again saves you code as it let’s you focus on implementing the “happy path” and deliver value to your customers first.
Compare this with other scalable options, such as Java, Golang, Rust – These are amazing languages but you will spend significant time digging through technicalities to make the borrow checker happy in Rust, or have the correct error handling in Golang or write class boilerplate in Java.
Just my 2 cents.
mayel
Many apps don’t really take direct advantage of that, but benefit greatly in the libraries they use, eg. Bandit, NimblePool (used by Req/Finch), Phoenix Channels, LiveView, Oban…
gregvaughn
If you dig into the history of Erlang, a primary requirement was fault tolerance. Those phone network devices had to keep running even if one call has an error. Processes and their memory isolation (and supervisors (and hardware redundancy)) were used toward that goal. Concurrency was kind of a happy side effect (especially given CPUs of the 80’s and 90’s).
In my opinion processes should be thought of primarily as a way of controlling the “blast radius” of an unexpected error, and secondarily as a wonderful concurrency primitive that is easy to reason about.
jhogberg
Sort of. If I recall correctly, concurrency was a requirement from the start to keep response times fair and reduce the risk of a small part of the system locking everything else up – such as a single phone call accidentally going into an infinite loop somehow. That it enabled the parallel execution of concurrent processes later on is a very happy accident
sodapopcan
I think this is just trying to appeal to all the folks who believe their startup will hit Google-scale in a year (or ever) that seem to be prevalent in our industry
(Rather, that is why there may seem to be such a focus on it)
Elixir is quite useful beyond the concurrency. It’s a really just a nice language and really-well suited for the web (and now beyond!). It’s hard to beat
It also doesn’t suffer from the “If you aren’t using the heavy-weight features then there is no point” thing.
=as a match operator! One of the coolest things about Erlang is that it didn’t come from academia—it was developed to solve a concrete business problem that looks a lot like how the web ended up looking. You could kind of call it a DSL for writing client/server applicationsfmn
hey @ omerss2311!
I think it’s one of the hottest topics in programming languages world, as well as the one with which same world struggles… (which might seem hilarious, because fairly long time passed since first general purpose, multi-core/CPU systems started to appear.)
Async, non-blocking, parallel or multiprocessing, threads, green threads - you will see it everywhere pretty much: in fairly small or medium sized web apps, backends, different sort of ETLs, server software, client-side JS…
Random example: Goroutines - used so often it’s probably easier to find software with them than without. Take a look at Helm.
Many languages did not addressed the subject originally, in early iterations of their design, or did, but used dated standards/approach, and results more often than not… Are causing lots of discussions and/or friction
Take a look at Rust surveys or community discussions, initiatives - super hard to get it right, async API is kind of rough and complex to consume.
OK, where i am going with that?
Enter… Erlang/OTP and new generation of programming languages built on top of both.
Naive but obligatory disclaimer
: pretty much all the things i am writing are personal opinion/anecdote, and here comes another one: i never encountered language or framework in which topic would be so easy to jump at, and incorporate into your software, without so many foot guns. i can’t really express how amazing it feels to me (and how many people ignore it, not even taking a look, because “meh, no static typing”).
… there is plenty more obviously, however this time i wanted to chime in reg. this, particular subject.
dimitarvp
Is that an actual question, or is it a claim disguised as a question?
While I agree with the others that there is more to Erlang/Elixir and OTP than just being transparently concurrent and parallel, I believe it has to be restated that this is extremely valuable in a civilization where one of the most popular languages – Python – is still having a council of elders bickering whether or not to remove the global interpreter lock… while tech like Erlang/Elixir, Golang, Rust, OCaml and others are delivering super-parallel software today. Which is honestly hilarious to watch, I’ve been to their discussion boards and it gave me several good laughs.
So in case you were actually asking a question, my response would be “is that not quite a lot of value proposition already”?
Sebb
Elixir is a very pragmatic and simple functional language.
It is imo the only functional language for blue-collar-coders like me.
I tried them all and failed. (Erlang is also easy but I could not live with the syntax).
Note: functional languages are a good thing (for most problems).
windexoriginal
Besides OTP/BEAM there are definite advantages to Elixir/Erlang:
If you prefer macros can remain in the background, but, like OTP, they are used to implement features that make Elixir enjoyable to work with.