4 ms·
The bad side 1) no support from mega corporations 2) not that many developers to choose from 3) while based on BEAM it's still too "new" 4) too slow for raw mo
by holydude 10y ago
The bad side
1) no support from mega corporations
2) not that many developers to choose from
3) while based on BEAM it's still too "new"
4) too slow for raw money crunching
- izelnakri 10y ago4th one depends on the implementation, and it isn't a disadvantage since most scripting languages have the same characteristic.
- pdexter 10y agoHow many implementations are there?
- izelnakri 10y agoI can give you 3 already: 1- doing it with SQL, 2- Distributed way with processes, 3- Doing it with custom NIFs etc.
- gamache 10y agoSpeaking as someone who came to Elixir from Scala/Akka on the JVM, yes it is absolutely a disadvantage, and no there is no implementation of the Erlang VM which rivals the JVM for speed. In Erlang/Elixir you get speed through horizontal scalability (which is easy) and/or writing parts of your code in another, faster language (which is harder).
- hderms 10y agoWhy did you leave Akka for elixir?
- gamache 10y agoThere were a few reasons. I never loved Scala, and I especially didn't like the let's-write-Haskell-in-Scala obsession with static typing that affects half the community. The JVM and Akka both have a lot of knobs to tweak, whereas the BEAM seems to have saner defaults. I didn't need rocket fast performance and I didn't need any JVM libraries, but I did like the actor model of concurrency and process supervision, so when it came time to look for greener pastures, Elixir was a solid choice. I've been using it in production just over a year, and it's been excellent.
- hderms 10y agoFair enough. I've dug into the haskell-as-scala stuff and found it academically interesting but somewhat divorced from reality with respect to how immediately useful it would be to most projects.
- crusso 10y agoThe reality is that raw money (number?) crunching is rarely the problem for modern sites. Even when it is, the number crunching code is often easily isolated and can be modularized using another more performant language and then Elixir can call that module as needed.
- hackerboos 10y agoAlso not many jobs. I've been looking for an Elixir job in Canada for months.
- d3ckard 10y agoIMHO the best way to start working with Elixir is to persuade people in your current place to give it a try. In the age of microservices it should be doable and later on it creates the market. That's what I did anyway.
- sotojuan 10y agoThis isn't going to change for years. If you want an Elixir job, go freelance.
- d3ckard 10y ago1) You can argue that it makes tech much less dependent on needs of one particular entity. It can be a good or bad thing, depending on your views. 2) This one I do not agree on principle. I wish we finally stopped judging devs by "language experience" and start judging them by "domain experience". For early stage startups it might be a disadvantage, all the rest should not be concerned about it. 3) Actually it's pretty stable. It's constantly being expanded (i.e. GenStage, but I've been working with it for year and a half now and never had issues with breaking changes. 4) True, but this is a niche. Number crunching is important in some domains, but what you need from web app is usually making things work in predicable way. Everything else is more of a specialized problem which needs custom solutions.