IronPython

Un article de Wikipédia, l'encyclopédie libre.
IronPython
Description de l'image Ironpython-logo.png.

Informations
Développé par Jim Hugunin
Première version Voir et modifier les données sur Wikidata
Dernière version 2.7.12 ()[1],[2]
3.4.1 ()[3],[4]Voir et modifier les données sur Wikidata
Dépôt github.com/IronLanguages/ironpython3Voir et modifier les données sur Wikidata
Écrit en C# et PythonVoir et modifier les données sur Wikidata
Environnement .NET, Mono
Type Interprète
Implémentation d'un langage de programmation (en)Voir et modifier les données sur Wikidata
Licence Licence ApacheVoir et modifier les données sur Wikidata
Site web ironpython.netVoir et modifier les données sur Wikidata

IronPython, qui peut être considéré comme le rétroacronyme de Implementation Running On .NET[5] ou de It Runs On .NET[6], est une implémentation du langage Python, visant .NET et Mono, créée par Jim Hugunin. La version 1.0 est sortie le .

IronPython est écrit entièrement en C#. Il est disponible comme partie de l'initiative Shared source de Microsoft. Bien qu'à l'origine placé sous la licence Common Public License, il garde une partie de son héritage, et son code source semble « plus accessible » que d'autres objets placés sous la Shared Source initiative. Les auteurs affirment que la licence, bien que non examinée par l'Open Source Initiative, est conforme à leur définition de l'open source.

Version[modifier | modifier le code]

La version 1.1 est compatible CPython 2.4.4.

La version 2.0 est compatible CPython 2.5 et peut s'exécuter sur la machine virtuelle de Microsoft grâce à la surcouche pour langages interprétés qui permet de supporter d'autres langages que ceux supportés par défaut par le système d'exploitation Windows de Microsoft.

Le portage de Python sous .Net permet de bénéficier des avantages du langage Python (syntaxe, accès aux bibliothèques Python) et du Framework .NET qui bénéficie du travail de Microsoft fait sur les MFC.

Silverlight[modifier | modifier le code]

IronPython est pris en charge sur Silverlight (qui est obsolète par Microsoft et a déjà perdu la prise en charge de la plupart des navigateurs Web, à l'exception d'Internet Explorer 11 qui mettra fin à sa prise en charge en octobre 2021)[7].

Il peut être utilisé comme moteur de script dans le navigateur, tout comme le moteur JavaScript[8]. Les scripts IronPython sont transmis comme de simples scripts JavaScript côté client dans les balises <script>. Il est alors également possible de modifier le balisage XAML intégré.

// DLR initialization script.
<script src="http://gestalt.ironpython.net/dlr-latest.js" type="text/javascript"></script>

// Client-side script passed to IronPython and Silverlight.
<script type="text/python">
    window.Alert("Hello from Python")
</script>

La technologie derrière cela s'appelle la Gestalt.

Outils[modifier | modifier le code]

Plusieurs environnements supportent IronPython : Microsoft .NET et Mono.

  • Sous Microsoft .NET, les outils Visual Studio supportent IronPython depuis la version 5 par installation de Visual Studio 2005 SDK version 4.0. IronPython Studio [1], basé sur Visual Studio 2008 Shell Runtime, permet d'avoir un IDE gratuit.
  • Sous Linux, le projet Mono propose une image VMware du système d'exploitation SuSE avec l'IDE MonoDevelop qui supporte Mono 1.1.16.1 et IronPython 1.0 RC2.
  • Eclipse4sl [2]
  • IronPython IDE [3]

IronPython fonctionne avec Silverlight et Manifold GIS System

Références et notes[modifier | modifier le code]

  1. « IronPython 2.7.12 Latest »
  2. « Download IronPython 2.7.12 » (consulté le )
  3. « Release 3.4.1 », (consulté le )
  4. « https://ironpython.net/download/ », (consulté le )
  5. Se référer à la présentation vidéo de l'auteur à 15 min 30 s
  6. « Why are many ports of languages to .net prefixed with ’Iron’? », sur Stack Overflow (consulté le ).
  7. Zed Shaw, Learn Python the hard way, Addison-Wesley Professional, (ISBN 978-0134692883, lire en ligne)
  8. « Write browser applications in Python » [archive du ], sur IronPython.net

Liens externes[modifier | modifier le code]