Рубі охоплює метапрограмування (рефлексія, самоаналіз), програмування багато парадигми та динамізм на рідкому рівні. Стріляти в ногу легко з силою та гнучкістю.
Тривожно? Ruby має здатність бути надзвичайно читабельним або незламним. Я бачив код, схожий на те, що він належить до сценарію Bash.
Погані практики? Деякі рубіністи цінують кмітливість над мудрістю. Вони пишуть і діляться хитрощами, які демонструють свою кмітливість, але це створює нечитабельний і крихкий код.
Як осторонь: Javascript був катастрофою з боку дизайну, і книга "Гарні частини" намагається видобути приховану красу. Perl, мова, яка популяризувала "Існує більше, ніж один спосіб зробити це" (тобто гнучкість), має подібну книгу в "Perl, Best Practices". Історія Perl - це досвід експериментів і досвід, який перемагає важко, "Best Practices" представляє свої знання. Perl 6 буде, я думаю, це справедливо сказати, перезавантаження мови, заснованої на цих знаннях та інше. Рубі може страждати від подібних проблем.
@James і для циклів ... Коли ви робите цикл у рубіні, він викликає ".each". Тому "for" - це синтаксичний цукор для людей, які зручніші для циклів стилю C. Але як рубіст, ви постійно будете використовувати такі ітератори, як .map, .inject, .each_with_object. Вам ніколи не доведеться писати цикл for з на зразок "i = 0; i> 6; i ++" в рубіні, і, таким чином, ви втратите звичку. @andrew ... красномовний рубін не схвалює циклів.