pmjoe
I’m working on a JVM shop company and I would like to bring Elixir not because I like it more, but because I truly believe that it can help the company to ship things faster and with more quality.
From informal conversations with a few developers I was able to rule out the notion that Elixir is not fast enough, but the main point right now has been static types. If you have worked on a big Elixir code base was the dynamic typing a problem? If yes, how you work around it?
Honestly I do miss static types as well but I’m willing to live without it to get all the benefits from Elixir.
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
Hey there,
It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
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
Quite interesting article Google brought me. Didn’t find any mentions about it here.
What do you think in general? Would you use togethe...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
Hi there! :wave:
@frigidcode and I (but mostly him) have been running an Elixir Book club, we’re almost done with Designing Elixir Syste...
New
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
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
Just published claude-code-elixir, a plugin marketplace for Claude Code with Elixir support. These are the plugins I’ve been using for my...
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
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
- #ai
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #elixirconf-eu
- #metaprogramming
- #hex











Showing Posts 1 to 7- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
sbuttgereit
One consideration here, presuming that adoption involves mid-to-long-term insights, is considering if the (presumably) coming Set Theoretic Typing bridges the gap sufficiently for your team and if that wait is feasible. Naturally it might be neither sufficient nor timely, but it’s worth thinking about.
Existing typing tools like Dialyzer I think could be helpful in at least creating greater surety about typing issues, but it has its own issues and doesn’t go near as far as static typing. In the end its a mitigation that at least helps handle the perception that you’re working without a net.
sodapopcan
I’ve worked on a very large Ruby codebase where the lack of static types wasn’t a (big) problem and even as it stands today, pattern matching makes Elixir a much more solid dynamic language than Ruby. yet, I’ve worked on a very confusing Elixir codebase that wasn’t even that big. It really comes down to the developers and your company’s practices.
I think the biggest issue you would probably face is having Java developers trying to bend Elixir into the patterns they are already comfortable with. I think this is probably the biggest problem with any big language change at an org.
pmjoe
I could have being more specific, but it’s mainly Scala. Which is nice because they’re already familiar and like the functional approach, but worse because they want even more types. I’ve stayed on meeting when the devs were simply discussing the correct way to represent an ID for hours. I like types, but this is mind blowing
sodapopcan
Oh my…
Although I was recently on a call where we spent 20 mins trying to figure out if something was actually centred in a div (which is, of course, impossible
) so ya…
Ah ya, probably a little better for sure, but Elixir is still a bit of a special flower, lol. My experience of people making messes trying to shoehorn other language concepts has been from one OO language to another OO language so I’d just be cognizant of it, is all.
D4no0
I have worked with a codebase with 20k+ source files. The types were never a problem there, for a few reasons:
At the same time I think the concern you are having is valid but I would address it the following way:
I would answer to this question a resounding yes. I’ve seen small projects designed by newcomers to elixir in the same manner they used to do it in other languages and sometimes it can get really bad, like so bad that you lose all the benefits of the ecosystem. In those projects everyone starting from business people to developers are not happy and in the end they migrate to another ecosystem sooner or later.
In order to avoid that, I highly recommend hiring a veteran elixir developer, that can teach your team the dos and don’ts. If you’re up to the task you should do it yourself, I can’t stress how vital that is for a good elixir adoption and a successful project.
adamu
Language choice is religious and unless you have considerable influence, no amount of reasoning will help persuade people to use an alternative, even if you believe it will benefit the company. People will always find a reason not to use it - not because of the reasons they say, but because they want to use what they know is accepted in their current and future careers, and because significant change is risky.
aviagarwal1212
I was lucky enough to be in a position to guide the choice of development platforms at my last role. We started out in Go, mostly because I had trouble previously in large Python codebases and junior developers not respecting data types.
Go has exceptional concurrency and is very explicit, making reading through codebases much much easier. However, we ended up switching to Elixir for better concurrency primitives and error recovery.
You definitely need better testing to avoid type errors in Elixir, despite the pervasive pattern matching. I would actually not put the blame on elixir though, but rather the lack of exhaustiveness checking. Misspellings in atoms and map keys proved to be the biggest issues for us, but these seem to be all issues that are in the process of being addressed.
I would like to add one minor point though, transitioning to elixir did lead to an overuse of structs. The team was very used to thinking in terms of types for every data-type getting passed around.