4 ms·
Last time I tried Elixir it had some rough edges where you had to use some other ugly-ass language (I think it was Erlang?) to do some things. I immediately sto
by gosukiwi 6y ago
Last time I tried Elixir it had some rough edges where you had to use some other ugly-ass language (I think it was Erlang?) to do some things. I immediately stopped learning after that. It feels like before learning Elixir, you need to learn Erlang, and I was just too lazy. Kind of using Clojure. You don't NEED to, but knowing Java helps. A lot. You need to learn the ecosystem, standard library, etc. You don't just pull a banana, you pull the gorilla holding the banana.
- baby 6y agoyup, I recommend just learning erlang.
- dnautics 6y agomaybe it's just me. I can read and write erlang, but I still think it's harder to read. It's got a lot of baggage behind it (like <<"this monstrosity for binaries">>); map syntax is atrocious, and lexical substitution should probably be considered to be an mistake this day in age.
- baby 6y agoI've reviewed erlang apps and I found them surprisingly easy to read, like really really clear. Perhaps it was the developers who did a good job, but I suspect it is the language. Sure some of the syntax is not super pretty, but I'd bet you would get used to it if you programmed in erlang more frequently.
- dnautics 6y agoI can't believe it's a good job: most of what I read in erlang is the OTP source. There are some real stinkers in there, in modules that barely anyone uses anymore (so there aren't any bug reports), like tftp (but when you need it you need it). And if you've ever tried chasing the ssl code, there's definitely some java-esque factory patterns hiding in there where one module or another drops an interface back to its caller, and the call stack weaves several times between two or three modules even.
- feifan 6y agoHaving spent about a year (so far) building personal projects with both Clojure and Elixir, I think Elixir exposes/requires you to know much less of the underlying Erlang/BEAM than Clojure does for Java/JVM.
- inopinatus 6y agoAhem. The “gorilla holding the banana” metaphor is from Joe Armstrong — creator of that “ugly-ass language” Erlang; what’s more, it is about emergent reusability in comparative programming paradigms, not about being unwilling to follow a learning curve. https://www.johndcook.com/blog/2011/07/19/you-wanted-banana/ https://www.johndcook.com/blog/2011/07/19/you-wanted-banana/