It’s puzzling why Python became the de facto standard scripting language rather than Ruby when the tooling was so inferior.

> It’s puzzling why Python became the de facto standard scripting language rather than Ruby when the tooling was so inferior.

1. Ruby tooling wasn't superior when Python became the standard.

2. Until Rails, IIRC, Ruby had limited visibility outside of Japan, whereas Python already had deep penetration in lots of fields.

3. Ruby for quite a while, IIRC, had a pretty bad story on Windows compared to Python.

> Ruby tooling wasn't superior when Python became the standard.

For that matter, when Python became the standard, the modern conception of a "language ecosystem" scarcely existed.

Perhaps the language design is more important than the tooling?

How do you think Python's language design is superior to Ruby's?

Readability > write ability

Rubies meta-prigramming often leads to too much magic, lack of understanding.

the ecosystem, especially math / stats / data analysis packages. Also Google used python, making it more popular

AI/ML

> AI/ML

The Machine-Learning world, especially "Google Brain" research team figured out that NumPy was an awesome piece of software for dealing with large arrays of numbers and matrix multiplication. They built "TensorFlow" on top of it around 2015 which became very popular. Facebook followed suit and released PyTorch in 2016.

IPython/Jupiter notebooks (for Julia, Python and R) from 2015 were another factor, also adopted by the AI/ML community.

The alternative data-science languages at the time were Mathematica, MATLAB, SAS, Fortran, Julia, R, etc, but Python probably won because it was general purpose and open source.

I suspect Python would not have survived the 2/3 split very well if it wasn't for AI/ML adopting Python as its main language.

> when the tooling was so inferior

Since 2012, Conda/Anaconda has been the go-to installer in the SciPy/NumPy world which also solves a lot of problems that uv solves.