DEV Community

wolfiton
wolfiton

Posted on

What is your opinion on Elixir language, why don't more developers use it?

What is your opinion on elixir language, why don't more developers use it?
why I am asking this
https://www.youtube.com/watch?v=N4Duii6Yog0

Thanks in advance for all the participants to this discussion

Latest comments (42)

Collapse
 
yoelblum profile image
Yoel

The competition was never fiercer. There are so many languages to choose from in 2021 it makes sense Elixir is having a hard time getting adoption.
Let me return the question - why should devs choose Elixir over so many great options? .net, java, php, golang, ruby, node, kotlin and on and on...
A new language that wants to disrupt the backend/web market has a harder time than ever.

Collapse
 
mindplay profile image
Rasmus Schultz

Main reason probably is it's functional. More developers are opening up to that in recent years, I think - as an increasing number of people realize that many of the patterns and practices that make mainstream languages work well at scale, in effect, leverage the functional features of those languages, and patterns that avoid or work around issues not found in functional languages. But there's a long way to go before any functional languages really goes mainstream, I think.

I think one reason developers don't jump all over this particular language is the syntax - it doesn't look like modern, mainstream languages and it's a bit heavy on both punctuation and keywords.

Another reason I'm not personally interested in this language is the lack of static types. For example, Elm is more interesting to me, providing a type system that is so strong that run-time errors don't actually exist. That's a significant quality that sets it apart from the mainstream languages.Folks can already do functional programming in most mainstream languages, so a purely functional language needs to do something new or different to motivate them to try it.

Have a look at Grain - a functional language with a clean, modern syntax that might feel more familiar to people coming from mainstream languages like JS or C#. It's very new, but promising, and has that Elm-style, run-time error-free strictness that I personally find very enticing. 🙂

Collapse
 
kasvith profile image
Kasun Vithanage

agree with this. I would love elixir if it was a typed language, its dead easy to do a mistake even when you changing the state of a GenServer and its not super easy to spot them without going line by line

Collapse
 
moreurgentjest profile image
more-urgent-jest • Edited

it seems very interesting, but i haven't really even scratched the surface.

programming elixir 1.6 seems like a pretty good book so far (about half way through).

learning it isn't any harder than learning oop after learning imperative programming.

not sure what exactly i would use it for ... pretty much anything i guess : )

the concurrency is probably the most promising part?

how would something like small talk fit into that MIT v New Jersey paradigm?

Collapse
 
fpolster profile image
Florian Polster

For the same reason that for example Nim isn't more popular. Scala and Rust, although they have reached a certain degree of popularity, are two more languages which according to their awesomeness should be way more popular.

  • popularity among devs
  • jobs
  • ecosystem / libraries

That's the three-way chicken and egg problem.

Collapse
 
wolfiton profile image
wolfiton

Thanks for sharing @pofi your opinion and view of what it needs to change so that other languages with potential, can enter the market.

Collapse
 
strzibny profile image
Josef Strzibny

One year "in" I like it so far! What I like the most is the fact that Elixir/Phoenix simply "fits" the modern soft-real time web. I like the preemptiveness and what it means to handling requests.

As for writing Elixir, some things can certainly be easier in Ruby, some are the opposites. Just trade-offs. As for Phoenix vs Rails, I really like its design, but I prefer Rails batteries-included philosophy.

I already wrote a bunch of articles on Elixir if anybody is interested: nts.strzibny.name/tag/elixir/.

Collapse
 
wolfiton profile image
wolfiton

Nice articles, thanks for sharing @josefstrzibny

Also, you might be interested in my absinthe series here absinthe series

Collapse
 
developarvin profile image
Arthur Vincent Simon

Why don't more developers use it?

  • It is fairly a new language
  • It uses functional programming which the majority of programmers don't use. Most people learned the object-oriented model
  • Not that much jobs as far as I can see. Needs to get to critical mass.
Collapse
 
wolfiton profile image
wolfiton

Thanks for sharing your opinion @arthurvincentsimon

Collapse
 
leonimella profile image
Leoni Mella • Edited

I worked with Python, PHP, JavaScript and some others languages (nothing to edgy, just "normal" applications) and I find Elixir one of the best languages to use on daily bases.

The syntax is so darn clean and the features of the language help so much to reduce code complexity and improve code readability that is insane!

I really miss some of theses functionalities, like pipelines, withs and mostly pattern matching, when working with other languages.

Maybe the lack of use is because Elixir is kind a recent language (it's out there since 2012) compared to others and is quite different and challenging to learn.

And, as a Brazilian 🇧🇷, I have to mention that is pretty cool to see such a amazing language be created by a compatriot, there is not a lot of things to be proud of in here...

Any way, I wrote this post: Learning Elixir with PHP help my focus was to make the transition from OOP languages to functional programming a bit easier.

Hope you like!

Collapse
 
bjorngrunde profile image
Björn Grunde

I think the functional approach is a bit scary for many developers, and to be honest, for what most developers build on a daily basis (small to medium-sized bloggish/cms sites) there is no reason for them to abandon their favorite stack.

I was thrown into Elixir because of demand, we had requirements that fit the language and it's stack perfectly, speed, distributed and soft real-time solutions.

Learning Elixir was a bi**ch for me. And I think a part of the problem lies in here. You don't learn Elixir as much as you unlearn or unwire your brain from everything you already know. It is so different.

But once you know your way around the language, you never wanna build stuff with other technologies. It's brilliant and thanks to Elixir I'm also learning Rust, Elixir and Rust work very well together.

I also think Elixir will have a bright future, but it will probably always be a bit niche, where certain industries will adopt the language, while it will be very Alien for the average web developer.

Collapse
 
wolfiton profile image
wolfiton

Some readers of this thread may want to see some action(show me the code) no just words, so it happens I have a series on Elixir, Phoenix and Absinthe(Graphql) here

dev.to/wolfiton/absinthe-journey-w...

Collapse
 
nmuta profile image
Nmuta Jones

Coming from a Ruby and Rails background, Elixir , in that community, has been considered the next best / hot thing for a while. I taught myself some basic Elixir and tinkered around with the Phoenix framework ( which uses Elixir ) and went to a few Elixir meetups in Denver.

The market niche for Elixir is that if you get really good at it, you could be able to help some teams transition from Rails onto an Elixir based stack for their back ends. This promise, however, applies only to a very small segment of the market. Many Rails shops have decided to just keep doing Rails.

I found working with Elixir to be pure joy. Not necessary as intuitive as Ruby. You certainly have to be a functional programming purist to fully appreciate the language; things that would be achieved with a simple loop in an OOP language require a totally different way of thinking.

I too LOVE the pipes. It feels elegant and clear. The main thing with Elixir for me was that it was going to force me deep into a niche that I wasn't sure I wanted to invest THAT much time into. It will never, IMO, be widely used in the dev world due to how different it is to the standard array of OOP languages. Therein lies the appeal for some people.

Phoenix and Ecto ..... I found them to be nice but nowhere near as polished and smooth of an experience as the Ruby on Rails stack. Lots of things you have to do manually that are very quick and easy with Rails.

I will always keep it in the back of my mind as something to come back to if the time comes.

Collapse
 
bjorngrunde profile image
Björn Grunde

As an old Ruby dev myself, I wanna say you are on point. But with the Phoenix framework and rails, I disagree a bit. They use two very different approaches, were Rails contains a lot more "magic" and to figure out what's actually going on could take some time.

Phoenix is very explicit, with very little magic, as intended, to make it more clear for the developers. The upside is a better understanding on what's going on, the downside is as you say, a little bit more work for the dev.

Collapse
 
wolfiton profile image
wolfiton

Interesting view, thanks for sharing how others feel about it and why it hasn't made it's mark yet.