Cả hai ngôn ngữ đều mạnh mẽ và thú vị. Hoặc là một bổ sung hữu ích cho hộp công cụ của bạn.
Python có cộng đồng lớn hơn và tài liệu và thư viện có thể trưởng thành hơn. Định hướng đối tượng của nó là một chút không nhất quán và cảm thấy (với tôi, IMHO) giống như một cái gì đó đã được bắt vít vào ngôn ngữ. Bạn có thể thay đổi hành vi của lớp trong thời gian chạy (khỉ-patch) nhưng không phải cho các lớp biên dịch sẵn và nó thường bị cau mày.
Ruby có thể khác một chút so với trải nghiệm hiện tại của bạn: nó có một số hương vị của Smalltalk (gọi phương thức chính xác hơn là gửi tin nhắn chính xác). Định hướng đối tượng của nó được xây dựng từ đầu, tất cả các lớp được mở để sửa đổi và nó được chấp nhận - nếu hơi đáng sợ - thực hành. Cộng đồng là nhỏ hơn, các thư viện ít trưởng thành và bảo hiểm tài liệu ít hơn.
Cả hai ngôn ngữ sẽ có một số mức độ tương thích ngược bị hỏng trong bản phát hành majopr tiếp theo của họ, cả hai đều có .Net triển khai (IronPython là sản xuất, IronRuby đến đó). Cả hai đều có khuôn khổ web phản ánh điểm mạnh của họ (tìm kiếm SO cho cuộc tranh luận Django/Rails).
Nếu tôi chưa bao giờ thấy Ruby, tôi sẽ rất vui khi làm việc với Python, và đã làm như vậy mà không bị đau khổ khi cần thiết. Tôi luôn thấy mình muốn tôi có thể làm công việc trong Ruby. Nhưng đó là ý kiến của tôi, YMMV.
Chỉnh sửa: Hãy suy nghĩ về nó, và mặc dù nó làm tôi đau lòng, nếu bạn đang tìm cách tận dụng kiến thức của mình về khung công tác .Net, bạn có thể nên nhìn vào IronPython, vì nó trưởng thành hơn Ruby tương đương.
Nguồn
2009-02-16 09:30:27
Tôi đồng ý với Python (và tôi là người dùng Ruby 100%). IronRuby cuối cùng sẽ trưởng thành, nhưng IronPython đã hoàn tất và có thể truy cập tất cả các thư viện .NET thông thường của bạn, nếu bạn muốn lấy nó theo hướng đó. – Judy