Ruby chấp nhận siêu lập trình (phản xạ, hướng nội), lập trình đa mô hình và tính năng động ở mức độ không phổ biến. Thật dễ dàng để tự bắn vào chân mình bằng sức mạnh và sự linh hoạt.
Khó khăn? Ruby có khả năng cực kỳ dễ đọc hoặc không thể phá vỡ. Tôi đã thấy mã trông giống như trong tập lệnh Bash.
Thực tiễn xấu? Một số Rubyist coi trọng sự thông minh hơn trí tuệ. Họ viết và chia sẻ các thủ thuật thể hiện sự thông minh của họ, nhưng điều này tạo ra mã không thể đọc được và dễ vỡ.
Bên cạnh đó: Javascript là một thảm họa bởi thiết kế và cuốn sách "Những phần tốt" cố gắng lấy ra vẻ đẹp tiềm ẩn của nó. Perl, một ngôn ngữ phổ biến "Có nhiều cách để làm điều đó" (nghĩa là linh hoạt), có một cuốn sách tương tự trong "Perl, Thực tiễn tốt nhất". Lịch sử của Perl là một trong những thử nghiệm và kinh nghiệm khó thắng, "Thực tiễn tốt nhất" đại diện cho kiến thức của nó. Perl 6 sẽ, tôi nghĩ thật công bằng khi nói, việc khởi động lại ngôn ngữ dựa trên kiến thức đó và hơn thế nữa. Ruby có thể bị các vấn đề tương tự.
@James và cho các vòng lặp ... Khi bạn thực hiện một vòng lặp for trong ruby, nó sẽ gọi ".each". Do đó, "for" là đường cú pháp giúp mọi người thoải mái hơn với các vòng lặp kiểu C. Nhưng là một Rubyist, bạn sẽ sử dụng các trình vòng lặp như .map, .inject, .each_with_object, mọi lúc. Bạn sẽ không bao giờ phải viết một vòng lặp for với nội dung như "i = 0; i> 6; i ++" bằng ruby, và vì vậy cuối cùng bạn đã bỏ thói quen này. @andrew ... ruby hùng hồn không chứng thực cho các vòng lặp.