DEV Community

loading...

Discussion on: My love hate relationship with python

Collapse
eduardfaus profile image
Eduard Faus Author

Very well said thanks for reading my article. That was some very incite full comment. I mostly do javascript/python and sometimes java. Do you recommend elixir. (ps. I would really appreciate if you could react to the comment so more people can see it)(if not its OK I understand). Well thanks for the comment i hope this find you well and you have a great day.

Collapse
ahferroin7 profile image
Austin S. Hemmelgarn

In general yes, I feel that Elixir is a great language to learn. It has a very good official tutorial, very good documentation (on-par with the documentation for the Python standard library), the bundled tooling (primarily mix, which bundles compilation, releases, testing, dependency management, and many other things into one easily extensible package) is very developer friendly, and the language itself is not particularly difficult to learn as far as FP languages go.

Some of the core concepts inherent to the runtime environment take a bit of getting used to (truly immutable data, processes/applications being separate from the OS-level concepts, serialization through by routing calls through single processes instead of locking, etc), but once you get used to that, it’s a remarkably powerful platform to build off of due to the general benefits of underlying Erlang platform (namely, it makes it easy to write soft-real-time highly concurrent code with a high degree of reliability).

The main downside to Elixir is that the package ecosystem outside of a couple of big names and their dependencies looks a bit lackluster due to the ‘don’t mess with it if it works’ mentality that is much more common in the Elixir/Erlang world, and it’s often not unusual if you need to work with some niche technology that you’ll have to write bindings yourself. OTOH, there’s zero-effort interoperability with existing Erlang libraries and other BEAM languages, so you can sometimes get lucky and find existing libraries there. It’s also not as highly in-demand as some other languages, though big companies do use it (Discord and change.org are both powered by Elixir, among other major companies) and it greatly simplifies the process of learning Erlang, which is also used by a number of big companies (most of the major telecom companies in the world use Erlang rather actively (that’s kind of what it was designed for originally), as does Nintendo’s online multiplayer network).


PS: If you’re interested in web development specifically, I would strongly suggest looking into the Phoenix Framework, which is the web app framework for Elixir. It makes real-time web applications blissfully simple compared to trying to do the same thing in Go, Python, or Node.

Thread Thread
eduardfaus profile image
Eduard Faus Author

Thanks I just researched elixir and I am learning the basics that was nice of you also i got confused I meant react to the article not comment. Anyway thank you for your knowledge elixir seems like a great programming language.