3 ms·
Clojure/Script is more geared towards experienced developers who want the power to do whatever they want, in a conscise, expressive and customized way. They val
by didibus 7y ago
Clojure/Script is more geared towards experienced developers who want the power to do whatever they want, in a conscise, expressive and customized way. They value flexibility, and immediacy, and like to know all the ins/out of their tools.
Elixir is a version of Clojure adapted more towards the Ruby model of making things easier for developers, giving people more focus, less choices, emphasising best practices, and overall offering something more familiar looking to most. It's complemented by Phoenix, which has similar goals, it is focused, directed, gives people a clear path forward.
They're both capable language, but you can see they have different focus and are geared towards people looking for different things.
So it depends what you're interested in:
If you like to do things from "first principles", meaning, you want to understand starting from birth and grow to adulthood, then Clojure/Script is for you.
If you prefer to do things "on the surface", meaning, you want to just get going with a project, see something get build fast, before you understand exactly how it all works, i.e., you want to start from adulthood, and slowly (or never) make your way back to the birth, then Elixir/Phoenix is for you.
- asdf-asdf-asdf 7y agoI don't think your description of Elixir and Phoenix is correct: Elixir is a language targeting the erlang virtual-machine. it does not seem clojure-inspired. Phoenix is a web development framework written in Elixir.
- phyrex 7y agoThe way you use them and how you model the world with them seems very similar to me
- didibus 7y agoFrom the creator of Elixir (Jose Valim) himself: > I’ve learned a lot also from Clojure because, at the time I was thinking about Elixir, Clojure was already around. I like to say it’s one of the top three influences in Elixir [...] > The main, the top three influences are Erlang, Ruby, and Clojure. [...] > I was like, no, but I’m going to call them protocols because there are a lot of similarities between Clojure and Elixir in terms of them being dynamic languages and in terms of the macro system. I was like, okay, I’m going to call them protocols because the closest thing we have today to what I want is Clojure And he goes on talking about more inspiration and similarities from Clojure like Agents, etc. Full exert is here: http://blog.cognitect.com/cognicast/120 http://blog.cognitect.com/cognicast/120 Edit: Ah I see where you could have gotten confused. By "version of Clojure" I meant in that it is very similar and has taken a lot of inspiration from it. Elixir isn't an actual dialect of Clojure the way that ClojureScript and Clojerl are. That's not what I meant to imply. Having used both language, they do share a lot of similarity in design, with most of the differences being Beam/Erlang vs Jvm/Java, and Elixir pulling more from Ruby, while Clojure pulls more from Lisp. This is what I meant by "a version", I should have said "is like Clojure, but..." instead I think to avoid this confusion, but too late for me to edit now.