Ruby abbraccia metaprogrammazione (riflessione, introspezione), programmazione multi-paradigma e dinamismo a un livello non comune. È facile spararsi al piede con potenza e flessibilità.
fastidioso? Rubino ha la capacità di essere estremamente leggibile o inscrutabile. Ho visto codice che sembra appartenere a uno script Bash.
Cattive pratiche? Alcuni Rubyisti apprezzano l'intelligenza rispetto alla saggezza. Scrivono e condividono trucchi che mostrano la loro intelligenza, ma questo crea codice illeggibile e fragile.
Per inciso:
Javascript è stato un disastro dal design, e il libro "The Good Parts" cerca di estrarne la bellezza nascosta. Perl, un linguaggio che ha reso popolare "C'è più di un modo per farlo" (cioè la flessibilità), ha un libro simile in "Perl, Best Practices". La storia di Perl è uno di sperimentazione e di esperienza vincente, "Best Practices" rappresenta la sua conoscenza. Perl 6 sarà, penso sia giusto dire, un riavvio del linguaggio basato su quella conoscenza e altro ancora. Ruby potrebbe soffrire di problemi simili.
@James e per loops ...
Quando fai un ciclo for in ruby, chiama quindi ".each". Pertanto, "for" è zucchero sintattico per le persone più a suo agio con i loop in stile C. Ma come Rubyist, userai sempre iteratori come .map, .inject, .each_with_object. Non dovrai mai scrivere un ciclo for con qualcosa come "i = 0; i > 6; i ++" in ruby, e così finisci per abbandonare l'abitudine.
@Andrea...
il rubino eloquente non approva i loop.