Ruby umfasst Metaprogrammierung (Reflektion, Selbstbeobachtung), Multiparadigma-Programmierung und Dynamik auf einer ungewöhnlichen Ebene. Es ist einfach, sich mit Kraft und Flexibilität in den Fuß zu schießen.
Lästig? Ruby hat die Fähigkeit, extrem lesbar oder unterbrechungsfrei zu sein. Ich habe Code gesehen, der aussieht, als gehörte er in ein Bash-Skript.
Schlechte Praktiken? Einige Rubinisten schätzen Klugheit über Weisheit. Sie schreiben und teilen Tricks, die ihre Klugheit demonstrieren, aber dies schafft unlesbaren und fragilen Code.
Nebenbei bemerkt: Javascript war von Natur aus eine Katastrophe, und das Buch "The Good Parts" versucht, seine verborgene Schönheit zu extrahieren. Perl, eine Sprache, die "Es gibt mehr als einen Weg, es zu tun" (dh Flexibilität) populär machte, hat ein ähnliches Buch in "Perl, Best Practices". Perls Geschichte basiert auf Experimenten und hart erarbeiteten Erfahrungen. "Best Practices" stehen für sein Wissen. Perl 6 wird meiner Meinung nach ein Neustart der Sprache sein, der auf diesen Kenntnissen und mehr basiert. Ruby kann unter ähnlichen Problemen leiden.
@James und for-Schleifen ... Wenn Sie eine for-Schleife in Ruby ausführen, wird ".each" aufgerufen. Daher ist "for" syntaktischer Zucker für Personen, die sich mit C-Schleifen wohler fühlen. Aber als Rubyist werden Sie ständig Iteratoren wie .map, .inject, .each_with_object verwenden. Sie müssen niemals eine for-Schleife mit so etwas wie "i = 0; i> 6; i ++" in Ruby schreiben, und am Ende verlieren Sie die Gewohnheit. @andrew ... beredtes Rubin unterstützt keine Schleifen.