3 ms·
Elixir helps manage complexity by encouraging the structuring of code in terms of series of transformations on data. This makes code simpler, more readable, eas
by weatherlight 11y ago
Elixir helps manage complexity by encouraging the structuring of code in terms of series of transformations on data. This makes code simpler, more readable, easier to read, reason about and maintain. It also helps avoid whole classes of complex bugs and problems that inevitable creep into large codebases of Java, Python or Ruby code.
- eatonphil 11y agoSo what differentiates it from Clojure or Racket then (which are ostensibly more interested in transformations on data)?
- adrusi 11y agoThe concurrency model. I recommend Rich Hickey's talk "the language of the system" (ironic, I know). In erlang/elixir you use the same kinds of abstractions to design your fine-grained logic and you coarse services. This makes for a very unique approach to scaling.
- eatonphil 11y agoI'll have to check that out. Thanks for the reference
- lectrick 11y agoElixir (probably due to the Erlang roots) seems to actively make it hard for you to hold onto state. This ends up (in my experience) being a good thing... or at least a brain-stretching thing that may lead to fewer bugs on larger projects. Clojure allows some OO if you'd like. I see that as a drawback, personally, but I've drank the functional koolaid.
- clessg 11y ago> It also helps avoid whole classes of complex bugs Whole "classes" indeed. Especially for Ruby devs who are fed up dealing with concurrency and performance problems in Rails, Elixir is very attractive and will make you code in a different way.