Why is Python better supported than Ruby

Why should I learn Ruby (another brain-cracked question)

user-l wrote:

In my opinion, Ruby combines some properties of several well-tried languages ​​(Tcl, Python, Perl, Smalltalk) without offering any advantages.

I already see advantages: The good text editing functions of Perl (RegEx as a language element) and its expressiveness, without the cryptic syntax smack. A strict type system like in Python and Smalltalk, and not a weak one like in Perl. A built-in sensible Object orientation (vs. Perl), which also looks like it and does not appear superimposed (vs. Python).
Flexible blocks (or closures) as in Smalltalk (vs. Python).

I find Ruby's syntax superfluously complicated because there are several different constructs for almost every purpose, some of which differ in nuances (for blocks 6 or 7 constructs alone, I think who needs that?). Compare that with the coherent syntax of Python, which is readable even for people who don't know Python at all.

It's all a matter of taste. I find the Python syntax badly unsuccessful. I don't even mean the sometimes controversial whitespace syntax elements. In some places, the OO looks simply put on. Why constantly self? Who needs that Why the "global functions", which then only access secret underscore-underscore functors? Why not as a method right away? Why underscores as a visibility modifier. Either completely (Ruby) or not at all (small talk). The whole thing is very unaesthetic. But as I said, it is a matter of taste and idle to argue about it.

I've never had any problems with the various constructs in Ruby. I also don't know anyone who would have difficulty understanding it. If one does not have a very long line, one understands both blocks with "{}" and with "begin end" (the number of possibilities is not that large). I prefer language to give me freedom of expression than to dictate the only true way.
The possibilities of building a DSL on it (which may also be understood by non-programmers) also benefits from these freedoms. No superfluous colons, brackets or whitespaces.

The variety of language constructs is comparatively large with Ruby, without being able to achieve the flexibility of the classics (Lisp, Smalltalk, Forth). In the long term, the purity of principles leads further than syntactic sophistication.
To add an object model to Tcl or Lisp, for example, you don't need a new syntax - a few lines of Tcl or Lisp code are enough. That is * real * flexibility.

This kind of flexibility would also be superfluous with languages ​​that support OO from the outset.

The language elements that Ruby took over from Smalltalk (objects, iterators, blocks) cannot tear it out either - if you take OO seriously, you will sooner or later arrive at Smalltalk anyway.

At least not with Python

After all, Ruby is another step towards true object orientation.
So it can only be a few more decades before you realize that everything there is to be done in this regard has been around since 1972: small talk.

Unfortunately, it is not always the best that win. See C ++. See PHP.