2009-04-04 15 views
6

SAP ha annunciato Blue Ruby, una versione di Ruby che viene eseguita all'interno della macchina virtuale ABAP.Qual è il significato per i programmatori di Ruby della nuova implementazione di SAP di Ruby?

Questo sembra dare ulteriore credibilità al linguaggio Ruby ma, fatta eccezione per gli sviluppatori SAP, questo ha qualche applicabilità al resto della comunità Ruby?

Mi chiedo quale altro significato questo possa avere. Ulteriori opportunità di lavoro, forse, per gli sviluppatori di Ruby da assumere per lavorare su progetti SAP?

Eventuali altri potenziali vantaggi per i programmatori Ruby?

Inoltre, qualcosa su cui non sono chiaro: oltre a MRI e JRuby, quante diverse implementazioni ci sono e perché, come programmatore Ruby, ho bisogno di implementazioni diverse dall'MRI? Capisco che potrebbe essere necessario JRuby se voglio integrarmi con le librerie Java. Ci sono altre volte in cui potrei aver bisogno di esaminare un'implementazione oltre alla risonanza magnetica o JRuby?

Ho notato che Blue Ruby è stato compilato. È un grande vantaggio e questa sarebbe la prima versione compilata di Ruby?

Mi dispiace, forse troppe domande, ma questo è stato discusso come un grosso problema tranne che non sono sicuro del perché/se lo è davvero. Sarei grato di ricevere un feedback da persone che capiscono Ruby (e I.T.) meglio di me.

risposta

9

In realtà ci sono alcune implementazioni alternative. Il motivo di così tante versioni è in parte dovuto al fatto che, sebbene Ruby abbia molti fan, la risonanza magnetica è spesso considerata non abbastanza bella come la lingua che ospita.

Questa è una lista di tutte le altre implementazioni di Ruby che conosco:

  • MRI

  • JRuby per Java. Il suo vantaggio in termini di velocità non è così grande ora che Ruby 1.9 è fuori, ma è ancora un grande giocatore per la sua integrazione con Java.

  • IronRuby (ancora in sviluppo) per NET

  • MacRuby per rendere le applicazioni native per Mac OS X. Attualmente è basato su Ruby 1.9, ma rilascerà una nuova macchina virtuale basata su LLVM per la prossima versione, che sembra offrire un importante aumento di velocità e, si spera, sarà trasferibile su altre piattaforme di destinazione LLVM.

  • MagLev (ancora molto in fase di sviluppo) per le app Web ad alta capacità. Sarà probabilmente un prodotto commerciale.

  • Rubinius è una reimplementazione di base pensata come alternativa alla risonanza magnetica con una base molto più pulita.

Dubito che Blue Ruby avrà un grande impatto sul panorama generale di sviluppo del software. Sarà probabilmente bello per i programmatori SAP e permetterà loro di lanciare una rete più ampia per potenziali assunzioni dato che Ruby è un po 'più popolare di ABAP.

Tutte le attuali implementazioni di Ruby sono compilate in bytecode. Contrariamente alle affermazioni di SAP, a partire da Ruby 1.9, la risonanza magnetica include un compilatore bytecode, sebbene la capacità di salvare il codice byte compilato su disco scomparisse da qualche parte nel processo di fusione della macchina virtuale YARV. JRuby è compilato in file .class di Java. Non ho molti dettagli su MagLev, ma sembra sicuro che prenderà anche quella strada.

+0

Nota: Ruby 1.9 utilizza YARV (http://en.wikipedia.org/wiki/YARV) (noto anche come KRI). Non lo chiamano ancora MRI in 1.9, vero? –

+0

MRI + YARV viene ancora generalmente chiamato "MRI" anche se Ko1 ha scritto la VM centrale. – Chuck

+0

Bella risposta. Grazie. Sai che alcune di queste altre versioni sono state compilate o sono tutte interpretate come MRI (ad eccezione di Blue Ruby)? Sembra che questo non abbia molto senso per lo sviluppatore di Ruby medio però. –

3

Ogni implementazione ha i propri casi d'uso. JRuby è utile per le stesse ragioni per cui Jython è. IronRuby sarà utile in un ambiente .NET, quando esiste in uno stato utilizzabile.

Cose come questa rendono Ruby più accettabile a livello Enterprise e accelerano la diffusione di Good Programming Languages.

2

Ovviamente, Blue Ruby è destinato alle persone correlate a SAP. Non penso che avrà un impatto molto maggiore sulla comunità di Ruby perché la maggior parte degli sviluppatori di Ruby non sono legati allo sviluppo di ABAP.

Lo scopo principale di Blue Ruby è di portare un potente linguaggio di scripting nel mondo ABAP, fornendo più strumenti per gli sviluppatori ABAP.

È possibile leggere il mio blog su Blue Ruby fornendo un emulatore SE16 (Data table explorer).

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

Saluti,

Alvaro "Blag" Tejada Galindo.

Senior ABAP Consultant - SAP Mentor.

Problemi correlati