Frage

Nun, nach einer langen Zeit mit dem Schreiben .net Programme in C # begann ich über all diese syntaktischen trash wütend und frustriert zu fühlen, die mit statisch typisierten Sprachen kommen. Jetzt will ich dynamisch typisierten Sprachen ändern, die die Vorteile von CLI nimmt. Also suchte ich ein bisschen herum und ich habe nicht wie von dem, was ich sah. Ich sah zuerst für Ironpython. Aber das Projekt fühlt sich desorganisiert, es hat einfach nicht sehen gut aus. Dann hörte ich von Boo. Ich mochte Boo, die ideal und alle, aber es fühlt sich ein bisschen wie das Projekt gestoppt. Dann hörte ich von IronRuby, aber das Projekt ist noch in der Beta, und so habe ich beschlossen, zu warten, bis es reif wird.

So wie ich nicht eine gute CLR kompatibel dynamische Sprache finden konnte, ich frage euch, was tun Sie (würden Sie) verwenden?

Da die Menschen begannen zu fragen, was der Grund ist für Ironpython nicht entschieden hat. Nun, der Grund ist, wie ich bereits sagte, es desorganisiert scheint. Warum?

1- Die Homepage verweist auf eine andere Seite auf Codeplex, sollte die Homepage sauber sein und zeigen nur die Vorteile von Ironpython, nehmen Sie die IronRuby Seite als Beispiel http://www.ironruby.net/ seine, die sprach developent Sachen aus dem Benutzer versteckt (obwohl der Benutzer vor Verwendung es IronRuby sVN zuzugreifen). Welche Art von Fragen IPython wurde addres versucht, wenn es erstellt wurde. Gibt es eine Seite mit dieser Art von Informationen? Nun, die Seite ist da, aber es ist auf dem ‚Weitere Informationen Seite‘ versteckt unter einem Haufen sinnlosen Links zu Artikeln. Auf Boo Seite seiner auf klare Sicht genannt als Manifest http://boo.codehaus.org/BooManifesto.pdf .

Es gibt mehr, aber das Gefühl, dass ich habe, ist, dass IPython ist nur ein selbstgebrautes Interpreter, trotz der Qualität, dass es tatsächlich haben kann. Ich fühlte, dass es sicherer war Boo herunterladen und verwenden Ironpython (aber keine Sorgen Microsoft ich auch IPython heruntergeladen hatte).

Über Ente-Typing und Boo statische Typisierung sie beide scheint gut für mich zu arbeiten.

War es hilfreich?

Lösung

Ich würde immer noch benutzen Boo . Ich bin mir nicht sicher, warum Sie glauben, Boo angehalten wurde. Entwicklung scheint manchmal etwas langsam, aber es gibt mehrere Leute arbeiten derzeit an Bugfixes, wie durch diese Liste der kürzlich behobenen Probleme (Bugs) .

Für jene nicht vertraut mit Boo, es ist sehr ähnlich wie Python, enthält aber Dinge, die Python nicht (wie string Interpolation und Syntatic Makros ). Sie können Boo Programme kompilieren oder Boo durch die "Boo Interactive Shell" mit booish .

Übrigens, ich habe nicht gefallen Ironpython, als ich es sah vor ein paar Jahren. Für mich sah es aus wie eine gerade Port von Python an die CLI, aber soweit ich es nicht neue Features typische .NET Entwicklung erfordert enthielt sagen konnte.

Bearbeiten : Ironpython scheint fortgeschritten zu sein, da ich zum ersten Mal sah es (Danke für Curt dies unter Hinweis darauf). Ich habe jedoch nicht die Mühe wieder auf Ironpython zu suchen, da ich Boo gefunden.

Andere Tipps

Im Hinblick auf die praktische Verwendbarkeit Ironpython wird Ihre beste sein wette jetzt.

Warum Menschen sind darauf hindeutet, Boo? Es ist eine statisch typisierte Sprache, die ist nicht das, was diese Frage ist zu fragen. Ja, ich weiß, es ist optional Ente eingeben, aber wirklich, wenn Boo bezogene Informationen akzeptabel auf die Frage Autor dann die Frage wirklich bearbeitet werden soll, um das klar zu machen.

In Bezug auf Ironpython, Sie sagten, Sie mochte es nicht, aber es ist wirklich keine Antwort, die ich auf kritische Kommentare geben kann, die so vage sind:)

Alternativ würde ich vorschlagen, dass Sie einen Blick auf CPython . Ein paar Punkte:

  • Sie können bauen exe-Dateien mit py2exe und anderen Werkzeugen.
  • Viele größerer Zugang zu 3rd-Party-Python-Bibliotheken und Frameworks
  • Zugriff auf Windows-APIs über pywin32
  • Python-Erweiterung in C writen verwendbar sind (im Gegensatz zu Ironpython, obwohl es Anstrengungen im Gange, diese Situation zu verbessern )

Sie werden feststellen, dass Sie wirklich nicht brauchen, .NET für die meisten Dinge. Natürlich ist dies alles hängt von Ihrer Anwendung. Für die Integration mit bestehenden .NET-Code, dann haben Sie offensichtlich Ironpython verwenden.

Sie sagen, Sie „dynamisch“ wollen, aber wenn die Motivation nur „alles, was syntaktische trash“ zu vermeiden, sollten Sie einen Blick auf F # . Es ist statisch typisiert, aber hat das Licht Syntax Gefühl einer dynamischen Sprache, sowie einen interaktiven Modus (REPL Loop).

ich mit dem Gefühl einig, dass Ironpython desorganisiert zu sein scheint, aber ich habe für (Klein-) Projekte mit ihm und ich habe bisher mit ihm ziemlich glücklich gewesen.

Wenn Sie es noch nicht gesehen hat, sollten Sie überprüfen Ironpython Studio .

Ich habe ein ähnlicher Weg unten gewesen. Ausgecheckt Boo, dotLISP, Ironpython, etc.

Ich empfehle Ironpython. Aber wenn Sie nicht bereits jede Python Erfahrung verfügen, dann werden Sie wahrscheinlich schneller Kern Python lernen durch CPython Laden und unter Verwendung der für die Beispiele und Tutorials.

Wenn Sie CPython Verständnis haben, Ironpython viel einfacher zu verstehen sein. Natürlich müssen Sie noch einige C # und haben Zugriff auf die .NET-SDK-Dokumentation zu verstehen. Ohne sie ist Ironpython extrem schwierig, nützliche Dinge mit zu erledigen.

Sie können auch einen Blick auf Fan Sprache. Es ist nicht rein dynamisch, es ist eine Mischung aus statischen und dynamischen. Und wie die meisten der neueren Sprachen, ist es reine OO mit einer Mischung aus funktionellen darin. Es läuft auch auf beide JVM und CLR-Plattform.

Syntax klug es ist näher an C # mit viel Zucker Syntax so es Art wie C # Mischung aussehen von in Ruby / Python.

Da die Sprache neu ist, nur 3 Jahre alt, seine Leistung ist noch nicht stellar.

Aktualisieren 21-Feb-2014: Fan hatte seinen Namen Fantom

Hier finden Sie aktuelle Clojure . Die CLR-Version ist noch in den frühen Stadien, aber Sie könnten wahrscheinlich die Java-Version arbeiten in .Net über IKVM

  

... syntaktischer Müll, mit statisch typisierten Sprachen kommt ...

Wenn Ihr Anliegen ist syntaktischer Müll dann könnten Sie auch statisch typisierte Sprachen mit Typinferenz wie zu überprüfen, vor allem F # .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top