

Ask HN: Why don't people see Rust replacing Ruby/Python etc.? - asattarmd

Rust is quite expressive. Isn&#x27;t that where Ruby&#x2F;Python shine?
======
ajanuary
I'm assuming the context of the question is "People say they see it replacing
C++ all the time".

People actively want a C++ replacement, and a lot of the features of Rust
specifically target the pain points of C++. The pain points are painful
enough, and the differences in Rust are soothing enough, that people are
willing to invest in Rust as a future replacement.

People don't actively want a Ruby or Python replacement; they're good enough
for now. There isn't much in Rust that a Ruby or Python programmer will look
at and say "that problem has caused me issues for years". It doesn't offer
enough over what they already have to invest in such a young language.

If Rust succeeds, I wouldn't be surprised to see it at least sitting alongside
Ruby and Python, but by that point the ecosystem will have built up enough
around it that you're not losing so much by switching.

------
dalke
In what time frame? It takes a decade or more for one language to replace
another. Look how long the Python 2 to 3 transition has taken, and those two
languages are close enough that it's possible to build complex code using just
their intersection.

One big part is inertia. There's a lot of existing code that works in Ruby or
Python. There's also a lot more people who know how to use them, so it's
easier to ask for or find help about a specific problem.

A related part is the number of existing libraries. If I want to do
cheminformatics (my field) in Rust, I would basically have to write the entire
underlying packages by hand. While for Python there's 6 or so packages
available to me, each taking at least 10 years of developer time to build.

------
anonyfox
The main point for any programming language out there isn't the language
itself, no matter how beautiful or awkward it is.

What counts is the the ecosystem around the language, more precisely: the
availability of modules/packages/frameworks/libraries.

Ruby has RubyGems with an impressive set of stuff for nearly everything
thinkable, and a bunch of frameworks for different stuff, like Rails or
Sinatra or Shoes or ... .

Javascript/Node has NPM, with a staggering amount of modules for _anything_
(Atwoods Law...), plus all the browser goodness (bower anyone?), full stack
stuff like meteor and unique projects like node-webkit and phone gap to build
anything "appy" in no time.

Of course there is also Perl's CPAN, the all-mighty JVM, ...

Rust has... an alpha release of a package management system? (saw it here on
HN just now).

~~~
seren
I would add a point to the ecosystem: the availability of developers in your
area. If you want to develop a new product based on X, but you can't even
assemble a team, you are going to have a hard time. This is a big contributor
to the inertia of any technology. (That could be used as a competitive
advantage, but I am talking about the broad adoption of a new technology)

