2011-01-01 10 views
8

Es sieht so aus, als würden beide Sprachen als "was C# hätte sein sollen", mit hygenischen Makros, REPL, Compiler als Service (CaaS), Static + Duck Typisierung (lange bevor C# es hatte) synchronisiert. Gibt es einen großen Unterschied zwischen diesen beiden Sprachen, oder sind es nur zwei verschiedene Implementierungen von mehr oder weniger der gleichen? Ich habe irgendwo gelesen, dass Nemerles Makro-Dienst mächtiger ist als Boo; Ist das wahr?Was sind die Unterschiede zwischen Boo vs Nemerle?

Wie vergleichen sie in Bezug auf aktuelle Aktivität, Reife und IDE-Integration?

Würde C# 5.0s gemurmelte CaaS-Funktion wahrscheinlich auch veraltet sein, wenn es zum Erfolg kommt, oder gibt es Funktionen, die sie relevant halten?

Antwort

8

Das Hinzufügen von CaaS zu einer Sprache wie C# oder sogar Makros zu Boo ist nicht annähernd genug, um Nemerles Metaprogrammierung zu erreichen, für die die Sprache von Anfang an entworfen wurde. Algebraische Typen, Zitat und Mustervergleich sind ein Muss für die abstrakte Syntaxbaumverarbeitung.

Nemerle hat kürzlich den Status eines Freigabekandidaten erreicht. Die Arbeit an Nemerle 2.0 ist bereits im Gange. Boo scheint einer ähnlichen Phase nahe zu sein, aber ein wenig hinterher.

Boo integriert hauptsächlich mit SharpDevelop, während Nemerle Visual Studio 2008 integriert hat.

+3

Boo hat Produktionsqualität für * Jahre * –

+1

Ich würde sagen, sie beide sind seit langem stabiler als C# 1.0-1.2. :) –

+2

Nemerle hat auch SharpDevelop-Integration. Sie können es aus den Quellen kompilieren. –

8

Nemerle Sprache hat viele Funktionen, die Boo Sprache nicht hat. Und wenn Sie einige Boo-Funktion in Nemerle benötigen, ist es sehr einfach, es hinzuzufügen.

+0

Wie wäre es mit boo's Feature, dass Sie geschweifte Klammern oder Semikola nicht eingeben müssen? :-) –

+4

@Robert P: Boos Syntax kommt von Python, während Nemerle von C# ... Aber Nemerle kann auch [Python-ähnliche Syntax] (http://nemerle.org/Indentation-based_syntax) verwenden –

+0

Ha! Scheint so. Ich denke, der einzige andere ist der (afaict) Nermele hat nicht die Fähigkeit, als interpretierte Sprache (ala python/perl/etc) zu laufen, oder irre ich mich auch dort? –

Verwandte Themen