3 ms·
I'm primarily a Python programmer, but have had my eye on Erlang and Rust as other languages of interest to look into at some point. While those two are to my k
by BuckRogers 12y ago
I'm primarily a Python programmer, but have had my eye on Erlang and Rust as other languages of interest to look into at some point. While those two are to my knowledge meant to solve problems in different domains, which one do you think would be easier to grok or get going with faster between the two? I have no C background. Just Python and SQL. I realize easier to get going with is a poor metric. It's not the only one important to me but I'm just curious. My initial looks into these led me to believe Erlang would probably be the easier of the two coming from Python.
I love the looks of Rust because it's C ABI compatible and I could write Python libraries with it.
Erlang because it looks to be the best thing going for webservices, which is much of my work.
- kibwen 12y agoRust guy here, and I can tell you that there is a huge contingent of our community made up of dynamic language programmers who have been seeking experience in systems programming. That said, when it comes to systems programming understanding the system itself is just as crucial as understanding the language, and that takes time. If getting up to speed quickly is important to you, perhaps you'd like Elixir ( http://elixir-lang.org/ http://elixir-lang.org/ ), which is sort of a Ruby-esque language that runs on the Erlang VM.
- BuckRogers 12y agoThanks. I've looked into Elixir, I like it, but decided to not look into it further. Erlang is already niche enough as it is.
- Xixi 12y agoI'm not quite sure there is that much overlap between Erlang/Elixir niche and Rust niche. You can certainly do "most" things with both but they will shine in different circumstances. You can certainly build anything with Rust, even an OS. And I guess this is where it will shine: system development, and very fast applications/tools. Erlang/Elixir is made to build fault-tolerant applications: think a service (which is really tens of thousands of micro-services all running in the Erlang VM), distributed on a cluster, that needs to run 24/7 without any interruption ever. Upgrading the app should not halt the system. A bug somewhere should not require you to restart the app: it should be limited in scope and you just hot patch it away. Erlang is fault tolerance is fault tolerance. From a Python/SQL background both will have a different set of challenges to learn: Erlang/Elixir means learning functional programming (no for loops, all map/reduce/filter and recursion), while Rust means learning how to handle references/memory ownership. To build webservices I'd give an edge to Elixir: cowboy + plug (+ phoenix). But that should be fun to build with Rust too... You should learn both :)