Wow, en fait, vu que je donne pas de "vrai" argument, voici quelques-uns :
- Le passage d'un bloc à une fonction plutôt que de demander une lambda. (Ca allège vachement l'écriture des fonctions qui demandent une seule lambda ; la possibilité de faire des lambdas est présente malgré tout.
)
- La portée d'une variable définie dans le nom ($, @, @@), l'avantage principal étant que ça aide vachement à la coloration syntaxique. (Et évite les erreurs sur la portée.)
- Les modules.
- Une "vraie" implémentation du paradigme "tout objet". (Et non un truc qui s'est rajouté par après.)
- La plupart des librairies (donc aussi SDL, GTK, Qt & cie) sont conçues pour faire les choses "à la sauce Ruby". (Par contre, pas tous les tutos sont faits par des rubyistes, et c'est là où le bas blesse.)
Sinon, plus subjectif (et surtout contrasté) :
- Le Duck typing, qui permet une certaine généricité. (Y a des avantages comme des inconvénients au duck typing, par contre.)
- La syntaxe pour l'héritage. (Esthétiquement, donc les goûts et les couleurs.
)