5 ms·
From what I gathered, it's popular for Rails developers who want something that feels like Rails, but with (much) better performances and concurrency. For me c
by eloisant 9y ago
From what I gathered, it's popular for Rails developers who want something that feels like Rails, but with (much) better performances and concurrency.
For me coming from Scala, I feel like the lack of typesystem would be a step back.
- brightball 9y agoIt has a type system, just a differently structured one to support its goals. In a naturally distributed language there are a number of headaches that are created by overly strict typing (think REST vs WSDL as an example). It's an entirely different way of thinking about the problem that enables you to accomplish things that you can't effectively do outside of the BEAM. https://blog.codeship.com/understanding-elixir-types/ https://blog.codeship.com/understanding-elixir-types/
- notriddle 9y ago[Plain Elixir has one data type.](http://www.theorangeduck.com/page/defence-unitype http://www.theorangeduck.com/page/defence-unitype)
- rehemiau 9y agoThere are (optional) type annotations. https://hexdocs.pm/elixir/typespecs.html https://hexdocs.pm/elixir/typespecs.html
- amorphid 9y agoTypespecs are mostly for static analysis. They describe the types of inputs and expected outputs.
- andruby 9y agoPhoenix is the framework that resembles Rails and is built on Elixir the language, which runs on the Erlang VM.
- konart 9y agoPhoenix (elixir-based web framework) is popular for RoR developers, yes. Elixir, has much broader application field.
- gamache 9y agoI came to Elixir from Scala, and for me the dynamic typing is a big step forward, because now I don't have to deal with the half of the Scala community that tries to make Scala into Haskell. Between Dialyzer (a static analyzer that finds type errors) and runtime pattern-matching (extremely powerful destructuring, sort of borrowed from Prolog initially), I don't find myself wanting to go back to strong typing on the JVM.
- pmarreck 9y ago> because now I don't have to deal with the half of the Scala community that tries to make Scala into Haskell side-effecting shots fired!
- gamache 9y agoOh, screw side-effects -- Elixir is much more hardline about immutability than Scala. I'm talking about jamming half your program logic into the type system, then braying to anyone who stays still long enough about how that's the right way to do things.
- hhandoko 9y agoI'm currently working with Scala and recently dabbling with Elixir and Phoenix. It's a good language and great platform, however, I still prefer static typing. I'm still getting used to dynamic typing in Elixir. Most of the time I feel like just matching against Map data structure or records. While Dialyzer is great, writing the typespecs is a bit of a maintenance overhead. I suppose it's a tradeoff... > I came to Elixir from Scala, [..] now I don't have to deal with the half of the Scala community that tries to make Scala into Haskell. IMO Scala will continue to be a multi-paradigm lang. On pure-FP and libs, it's a choice and really depends on the problem domain. It might not be a good solution to everyone, but I'm glad it exists.