4 ms·
Elixir is bolted on top of erlang so reading error stacks with erlang is common, needing to grok erlang concepts and docs is also sometimes needed. This makes i
by mattbrewsbytes 3y ago
Elixir is bolted on top of erlang so reading error stacks with erlang is common, needing to grok erlang concepts and docs is also sometimes needed. This makes it odd to work with. I know if I'm using a Java, Ruby, Python or PHP framework (django, laravel, rails, whatever latest java web framework) I can read thru docs or source code and troubleshoot stack traces without having to learn another language. Its unavoidable with Elixir beyond simple apps.
- emerongi 3y agoI barely know Erlang and life has been fine. I do know the runtime characteristics of the Beam VM and occasionally I need to read Erlang docs, but compared to other stacks the experience has been significantly more pleasing. People are of course different and I fully acknowledge that things that seem normal to me may seem odd to others, so YMMV.
- giraffe_lady 3y agoErlang is a very simple language though especially compared to elixir. The runtime semantics are fairly unusual but it almost completely shares those with elixir so you'll have to learn them anyway. The BEAM is very complex but again you have to learn that anyway.
- pdimitar 3y agoI hear you and it has been an issue years ago but gradually Erlang's maintainers have been making error messages (and return error values) better and more readable and at this point I can't remember when was the last time when an Erlang return value and stack trace have impeded me. So you were correct some years ago but I am not seeing this nowadays. So yeah, valid criticism, at the same time this criticism has been mostly taken to heart and addressed as of today.
- weatherlight 3y agoThe syntax is a little different but the semantics are exactly the same, so it's trivial I guess? also, the errors you get, when they are in erlang are in valid erlang, i can't say that about Java, Ruby, Python or PHP which give you errors in English. https://hackernoon.com/why-is-erlang-the-only-true-computer-language-4c7d1f195a02 https://hackernoon.com/why-is-erlang-the-only-true-computer-...
- mattbrewsbytes 3y agoFor some things like SSL/TLS, Elixir is mostly just syntactic sugar over erlang features. I didn't find it trivial when I was trying to figure out SSL/TLS issue but worked fine on same OS but different language stack. Keeping track of versions+patches of Erlang, Elixir and Phoenix for a web app may be trivial until you run into something where its not Elixir then you have to dive into erlang things. I was merely pointing out it is in fact another step people may have to take. Something to consider when evaluating languages. I ran into this with an app that does a lot of API calls externally, dealing with many varying TLS certificates. Fans of Elixir out in force today downvoting dissenting opinions even though its valid.
- weatherlight 3y agoAll opinions are valid. this point isn't particularly special though. In almost every lang you'll run into something that your aren't familiar with and you'll have to dive into something you aren't comfortable with. I had to dive into some C code when ruby decided to segfault. I've had to dive into Java JVM internals when working in Clojure. So I'm not sure this is a "elixir" thing as much as a "I'm a developer thats supposed to know multiple languages and stacks" kinda thing.