Python, IronPython
Wie funktioniert IronPython-Stapel bis zu der Standard-Windows-Implementierung von Python aus python.org? Wenn ich Lerne Python, werde ich lernen, ein subtley andere Sprache mit IronPython, und was Bibliotheken würde ich tun ohne?
Gibt es alternativ irgendwelche Vorteile zu IronPython (nicht einschließlich .NET IL kompilierten Klassen), die es attraktiver machen, eine option?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine Reihe von wichtigen unterschieden:
Gibt es einige subtile Unterschiede, wie Sie Ihren code schreiben, aber der größte Unterschied liegt in den Bibliotheken, die Sie zur Verfügung haben.
Mit IronPython, haben Sie alle .Net-Bibliotheken zur Verfügung, aber auf Kosten der einige der "normalen" python-Bibliotheken, die noch nicht portiert wurden, um die .Net VM, denke ich.
Grundsätzlich sollten Sie erwarten, dass die syntax und die Idiome, die die gleichen zu sein, aber ein Skript geschrieben für IronPython wird nicht ausgeführt, wenn Sie versuchen, geben es den "normalen" Python-interpreters. Anders herum ist es wohl eher, aber auch dort werden Sie Unterschiede feststellen, denke ich.
Gut, es ist allgemein schneller.
Nicht verwenden können Module, und hat nur eine Teilmenge der Bibliothek.
Hier ist eine Liste der Unterschiede.
Finden Sie in der blog-post IronPython ist eine ein-Weg-Tor. Es fasst einige Dinge, die ich gelernt habe über IronPython von Fragen auf StackOverflow.
Python ist Python, der einzige Unterschied ist, dass IronPython wurde konzipiert, um die in der CLR (.NET Framework), und als solche, können inter-agieren und konsumieren .NET-Assemblys in einer anderen .NET-Sprachen. Also, wenn Sie mit der Plattform Windows und verwenden Sie auch .NET oder Ihr Unternehmen, dann sollten überlegen, IronPython.
Einer der Vorteile von IronPython ist, dass, im Gegensatz zu CPython, IronPython nicht den Global Interpreter Lock, wodurch threading effektiver.
In der standard-Python-Implementierung, threads greifen die GIL auf jedes Objekt zugreifen. Dies schränkt die parallele Ausführung, welche Fragen, vor allem, wenn Sie erwarten, in vollem Umfang nutzen mehrere CPUs.
Pro: Sie können laufen IronPython in einem browser, wenn SilverLight installiert ist.
Es hängt auch davon ab, ob Sie Ihren code auf Linux zu arbeiten. Keine Ahnung, ob IronPython arbeiten auf irgendwas außer windows-Plattformen.