Dynamic Language Runtime
La DLR est une surcouche facilitant l'implémentation et l'interopérabilité des langages dynamiques. La DLR sert à supporter plusieurs langages.
Recherche sur Google Images :
Source image : lemonodor.com Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur. |
Page(s) en rapport avec ce sujet :
- NET avec DLR (Dynamic Language Runtime). Ce composant sert à faire tourner des langages dynamiques tels que Ruby ou Python dans la CLR.... (source : lemondeinformatique)
La DLR est une surcouche facilitant l'implémentation et l'interopérabilité des langages dynamiques. La DLR sert à supporter plusieurs langages. Cette technologie est utilisé par Microsoft pour la plateforme . NET et Sun pour sont langage java.
La CLR de Microsoft est l'équivalent de la machine virtuelle Java (JVM). La CLR ne gère que les langages propres à Microsoft alors que la DLR de Microsoft a été créé pour prendre en charge d'autres langages. Sun suit la même politique d'ouverture en ajoutant à sa JVM une DLR de nom Da Vinci Machine donnant la possibilité la gestion d'autres langages que java. Le terme JVM devient par conséquent inapproprié. Des langages tiers avaient déjà été portés sur la JVM en reprenant la syntaxe de langages existants. La raison principale des DLR est de favoriser le portage de langages tiers ; il est en effet particulièrement complexe de faire fonctionner un code dynamique (Python, Ruby) sur un environnement qui est typé lors de la compilation (statically typed environnement). Le portage d'un langage sur la DLR est par conséquent plus facile que sur la CLR.
DLR Microsoft
La DLR est une surcouche qui implémente les concepts de la CLI et utilise le Framework. NET. La DLR permet le support de langages non Microsoft comme Python et Ruby tandis que la CLR (sur laquelle est implémentée la DLR) utilise C# et VB. NET. Les versions de Python et Ruby fonctionnant sur la DLR sont nommées IronPython et IronRuby. IronPython et IronRuby sont sous licence Microsoft Ms-PL. D'autres implémentations sont supportés comme et.
L'intérêt de la DLR se trouve dans l'utilisation de langages dynamiques comme le langage PHP et dans le fait que certains langages ont une syntaxe bien plus simple et structurée comme Python.
Les premières applications fonctionnant avec les langages de la DLR sont :
- Microsoft Silverlight 1.1, provenant de wpf, ne fonctionne que dans un navigateur (Mac/Intel et Windows) et supporte la DLR, Ironpython et managed JScript
- Unity 3D fonctionne sur Mono est la machine virtuelle implémentant la CLR sous Linux et pas uniquement le navigateur
- Manifold System supporte l'ensemble des langages compatibles. NET (IronPython, VBScript. NET, …) à l'exception d'IronRuby.
L'infrastructure de la DLR offerte par Microsoft à mis fin au portage natif de Ruby. Net[1].
Quelques langages ont été portés sur la DLR de microsoft :
- IronRuby est une implémentation en C# du langage (Ruby)
- IronPython est une implémentation en C# du langage (Python)
Le code managé JScript et C# ne sont pas supporté aujourd'hui par la DLR
DLR de Sun
Quelques langages ont été porté sur la JVM de Sun
- JRuby est une implémentation en java du langage Ruby
- Jython est une implémentation du langage Python
Les langages supportés par la DLR de Sun sont
- Groovy est l'implémentation d'un langage de script reprenant la syntaxe Java et les idées de Python et Ruby
- JavaFX est la mise en œuvre d'un langage de script servant à concurrencer Silverlight et Adobe Flex
Da Vinci est la réponse de Sun à Microsoft : elle autorise la machine virtuelle java de prendre en charge les langages dynamiques.
Notes et références
Recherche sur Amazone (livres) : |
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 17/03/2009.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.