IronRuby vs. rubino Net

April 15

Il linguaggio di programmazione Ruby, come linguaggi come PHP, Perl e Python, è uno scopo generale della lingua scripting Web. Rubino eccelle a fornire strumenti per gli sviluppatori di creare pagine Web dinamiche e moduli interattivi. Come parte di un progetto accademico, alcuni programmatori hanno deciso di mappare rubino sul framework .NET di Microsoft. Questo progetto, denominato Ruby.NET, servito come base per IronRuby. L'evoluzione e l'attuazione di questi progetti illustra alcune delle loro differenze.

Microsoft .NET

Microsoft .NET rappresenta gli sforzi del team di programmazione di Microsoft per la creazione di un quadro comune per le applicazioni Windows. Programmi sviluppati sul framework .NET può essere scritto in numerose lingue, ma queste lingue hanno accesso al framework .NET attraverso gli oggetti delle librerie condivise e comandi. Questi oggetti condivisi sono legati al sistema operativo Windows, il che significa applicazioni sviluppate in .NET spesso non si traducono in altre piattaforme come Mac di Linux. NET aiuta a normalizzare il codice per le applicazioni Windows su più progetti e programmi di sviluppo, mentre facilitando la programmazione di Windows in generale.

Ruby.NET

Il progetto è stato avviato da Ruby.NET Dr. Wayne Kelley, docente presso Queensland University of Technology, nel tentativo di portare lo stile dinamico di Ruby, un linguaggio interpretato, in un quadro, come .NET, ha significato per i linguaggi staticamente tipizzati tali come C # e Visual Basic. Ruby.NET viene eseguito su .NET Common Language Runtime (CLR), che serve come la macchina virtuale in cui si verifica la gestione della memoria e la compilazione, proprio come la Java Virtual Machine fa per i programmi Java.

IronRuby

IronRuby, a differenza Ruby.NET, rappresenta lo sforzo di Microsoft per importare lingue dinamicamente tipizzati come Ruby per il framework .NET. Di conseguenza, IronRuby integra e affianca altre lingue come IronPython. IronRuby gira su Dynamic Language Runtime (DLR), che affronta le discrepanze specifici tra lingue staticamente e dinamicamente tipizzati. Ciò significa che i programmi costruiti in IronRuby sono visibili ai programmi in IronPython, per tutto il tempo sfruttando il framework .NET.

Confronto

Perché Ruby.NET viene eseguito sul CLR piuttosto che la DLR, ha accesso a programmi e dati sul livello di Common Language Interface. IronRuby e IronPython non lo fanno, come essi risiedono a livello DLR. IronRuby ha anche accesso a più moderne tecnologie disponibili per lingue supportate da Microsoft, come Silverlight. IronRuby ha un rapporto più integrato con i prodotti Microsoft che Ruby.NET. IronRuby, tuttavia, deve molto del suo codice al progetto Ruby.NET. A causa dell'uso di IronRuby di Ruby.NET e dei suoi vantaggi come un prodotto integrato Microsoft, il Dr. Kelley ha interrotto lo sviluppo del progetto Ruby.NET nel 2008.