2009-04-04 13 views
6

SAP công bố Blue Ruby, phiên bản Ruby chạy bên trong Máy ảo ABAP.Điều gì là ý nghĩa đối với các lập trình viên Ruby của việc triển khai Ruby mới của SAP?

Điều này dường như cho vay thêm độ tin cậy đối với ngôn ngữ Ruby nhưng, ngoại trừ nhà phát triển SAP, điều này có áp dụng cho phần còn lại của cộng đồng Ruby không?

Tôi chỉ tự hỏi điều gì khác có ý nghĩa này. Các cơ hội việc làm bổ sung, có lẽ, để các nhà phát triển Ruby được thuê để làm việc trên các dự án SAP?

Bất kỳ lợi ích tiềm năng nào khác cho người lập trình Ruby?

Ngoài ra, điều tôi không rõ: Bên cạnh MRI và JRuby, có bao nhiêu triển khai khác nhau và tại sao tôi làm lập trình viên Ruby cần thực hiện ngoại trừ MRI? Tôi hiểu tôi có thể cần JRuby nếu tôi muốn tích hợp với các thư viện Java. Có lần nào khác tôi có thể cần phải xem xét triển khai bên cạnh MRI hay JRuby không?

Tôi nhận thấy rằng Blue Ruby được biên dịch. Đó có phải là một lợi ích lớn và đây có phải là phiên bản được biên dịch đầu tiên của Ruby không?

Xin lỗi - có thể quá nhiều câu hỏi nhưng điều này đang được thảo luận như là một vấn đề lớn, ngoại trừ tôi không chắc chắn lý do tại sao/nếu nó thực sự là. Sẽ biết ơn khi nhận được một số phản hồi từ những người hiểu Ruby (và I.T.) tốt hơn tôi.

Trả lời

9

Có thực sự là một vài triển khai thay thế. Lý do cho rất nhiều phiên bản là một phần bởi vì trong khi Ruby chính nó có rất nhiều người hâm mộ, MRI thường được coi là không hoàn toàn tốt đẹp như ngôn ngữ mà nó lưu trữ.

Đây là danh sách của tất cả các hiện thực của Ruby khác tôi biết:

  • MRI

  • JRuby cho Java. Lợi thế về tốc độ của nó không phải là tuyệt vời khi Ruby 1.9 ra mắt, nhưng nó vẫn là một cầu thủ lớn để tích hợp với Java.

  • IronRuby (vẫn còn đang phát triển) cho .NET

  • MacRuby để làm nguồn gốc các ứng dụng Mac OS X. Nó hiện đang dựa trên Ruby 1.9, nhưng họ sẽ phát hành một máy ảo dựa trên LLVM mới cho phiên bản tiếp theo, có vẻ như cung cấp một tăng tốc độ lớn và hy vọng sẽ được di động đến các nền tảng mục tiêu LLVM khác.

  • MagLev (vẫn còn rất nhiều trong phát triển) cho các ứng dụng web có dung lượng cao. Nó có lẽ sẽ là một sản phẩm thương mại.

  • Rubinius là một quá trình thực hiện mặt đất có nghĩa là thay thế cho MRI bằng một nền tảng sạch hơn nhiều.

Tôi nghi ngờ Blue Ruby sẽ có nhiều tác động đến cảnh quan phát triển phần mềm chung. Nó có thể sẽ tốt đẹp cho các lập trình viên SAP và cho phép họ tạo ra một mạng lưới rộng hơn cho những người thuê tiềm năng vì Ruby có phần phổ biến hơn ABAP.

Tất cả các triển khai Ruby hiện tại được biên dịch sang bytecode. Trái ngược với tuyên bố của SAP, như của Ruby 1.9, MRI chính nó bao gồm một trình biên dịch bytecode, mặc dù khả năng lưu bytecode biên dịch vào đĩa biến mất một nơi nào đó trong quá trình sáp nhập máy ảo YARV. JRuby được biên dịch thành các tệp .class của Java. Tôi không có nhiều chi tiết về MagLev, nhưng có vẻ như an toàn khi nói rằng nó cũng sẽ đi theo con đường đó.

+0

Lưu ý: Ruby 1.9 sử dụng YARV (http://en.wikipedia.org/wiki/YARV) (aka KRI). Họ vẫn không gọi nó là MRI trong 1.9, đúng không? –

+0

MRI + YARV vẫn thường được gọi là "MRI" mặc dù Ko1 đã viết VM trung tâm. – Chuck

+0

Câu trả lời hay. Cảm ơn. Bạn có biết là bất kỳ phiên bản nào khác được biên dịch hay tất cả chúng đều được hiểu là MRI (ngoại trừ Blue Ruby)? Nghe có vẻ như điều này không có nhiều sử dụng cho các nhà phát triển Ruby trung bình mặc dù. –

3

Mỗi triển khai đều có trường hợp sử dụng riêng. JRuby rất hữu ích cho nhiều lý do tương tự Jython. IronRuby sẽ hữu ích trong môi trường .NET, khi nó tồn tại trong trạng thái có thể sử dụng được.

Những điều như thế này làm cho Ruby dễ chấp nhận hơn ở cấp Doanh nghiệp và đẩy nhanh sự phát triển của Ngôn ngữ lập trình tốt.

2

Tất nhiên, Blue Ruby dành cho những người có liên quan đến SAP. Tôi không nghĩ sẽ có nhiều ảnh hưởng hơn đến cộng đồng Ruby bởi vì hầu hết các nhà phát triển Ruby không liên quan đến phát triển ABAP.

Mục đích chính của Blue Ruby là mang một ngôn ngữ kịch bản mạnh mẽ vào thế giới ABAP, cung cấp nhiều công cụ hơn cho các nhà phát triển ABAP.

Bạn có thể đọc blog của tôi trên Blue Ruby cung cấp trình mô phỏng SE16 (Data table explorer).

https://weblogs.sdn.sap.com/pub/wlg/14222

Greetings,

Alvaro "Blag" Tejada Galindo.

Tư vấn ABAP cấp cao - SAP Mentor.