29.07.2004, 00:00 Uhr

Die Python geht ins .NET

Beliebte Sprache der Open-Source-Szene unter .NET verfügbar
Auf der OSCON 2004, der Open Source Convention in Portland, hat Jim Hugunin IronPython vorgestellt - eine Implementierung der Programmiersprache Python unter .NET. Das Projekt befindet sich noch im frühen Alpha-Stadium mit der Versionsnummer 0.6. Die bisherigen Ergebnisse Hugunins klingen jedoch beeindruckend. IronPython soll unter der Common Language Runtime (CLR) von .NET 1,7 mal schneller sein als Python 2.3 unter dem Python-Benchmark Pystone. Die Sprache kann unter .NET vorhandene CLR-Bibliotheken aufrufen und bestehende .NET-Klassen erweitern. Die kompilierten Python-Assemblies lassen sich wie unter .NET gewohnt von anderen .NET-Sprachen aus wie C#, Visual Basic .NET oder auch Managed C++ nutzen. Da IronPython IL-Code ohne Abhängikeiten von nativen Bibliotheken erzeugt, können die Programme auch in Umgebungen laufen, die Managed Code erfordern.

Jim Hugunin hat sich schon mit Jython und AspectJ einen Ruf erworben. So hat er Python auf die Java-Enginge portiert, das Ergebnis war Jython. Auch beim Design von AspectJ hat er mitgewirkt und war maßgeblich am Entwurf der Architektur des AspectJ-Compilers beteiligt.

Die Motivation, IronPython zu entwickeln, entsprang eigentlich aus dem Gerücht, die .NET-Laufzeitumgebung unter .NET und Mono, der Linux-Implementierung von .NET, sei fehlerhaft und eine neue Sprache deshalb nur sehr schwer in .NET einzubinden. Daraus sollte ein Artikel entstehen, der mit der CLR hart ins Gericht gehen sollte. Doch zu Hugunins Erstaunen stellte er fest, dass die CLR eine erstaunlich gute Einbindung neuer Sprachen erlaubte - was er, wie er anekdotenhaft erzählt, etwas betrübt zur Kenntnis nahm, denn nun konnte er die Angelegenheit nicht mehr mit einem kurzen Artikel abhaken. Also begann er, eine .NET-Version der Programmiersprache zu entwickeln, um festzustellen, ob es dabei versteckte Fallstricke gab. Jim Hugunin glaubt, dass seine Arbeit auch für andere Open-Source-Sprachen wie Perl, PHP oder Ruby von Bedeutung sei.

Info:
http://www.ironpython.com



Das könnte Sie auch interessieren