3 ms·
Of course they are, but thé article seems to be from someone interested by elixir, rather than someone who used it long enough to discover them (although I mig
by phtrivier 7y ago
Of course they are, but thé article seems to be from someone interested by elixir, rather than someone who used it long enough to discover them (although I might have misunderstood the article.)
From own experience, the problematic parts are :
- deployment being a bit messy if you try to follow 12 factors (might be improving in 1.9)
- absence of a decent debugger
- younth of the ecosystem and size of the community (aka hard the find a maintained lib that works for a few common issues.)
- compiler being a bit slow to my taste (YMMV)
- then, of course, the elephant in the room: the absence of the kind of static type checking that facilitate refactoring ord relatively large codebases.
Nothing unbearable or permanent, but some things to keep in mind. Go try it !
- dnautics 7y agoCan you describe a situation where you would have wanted a debugger that io.inspect couldn't get you out of? I haven't found one yet.
- innocentoldguy 7y agoUsing a combination of IO.inspect and IEx.pry, I've never found myself wanting or needing any other debugging tools.
- olikas 7y agoBEAM based languages lack "good" debuggers, because they historically depend on tracing instead of debuggers. I recently wrote a blogpost about the tracing landscape in Elixir. https://www.erlang-solutions.com/blog/a-guide-to-tracing-in-elixir.html https://www.erlang-solutions.com/blog/a-guide-to-tracing-in-... But the main reason is that BEAM languages are mainly used for concurrent computing which is a very difficult problem to debug with classical debuggers. I know it is not a mainstream way to "debug" but a very useful one once one learns it.
- owens99 7y agoWow, since moving over to Elixir/Phoenix I have been doing all my bug fixing this way but wasn't sure if I was doing it right!
- lawik 7y agoAuthor here. You are right in that I haven't had a chance to see what a few-years-old Elixir project feels like to run and maintain. I've been following and experimenting with Elixir for a few years and I'm doing more stuff with it recently. And the post was very much intended to be enthusiastic about cool things, rather than nuanced and looking for problems. So I think your take-away is entirely fair.