8

It looks like both of these languages are dubbed as "what C# should have been", with hygenic macros, REPL, Compiler as a Serivce (CaaS), static + duck typing (way before C# had it). Are there any major difference between these two languages, or are they just two different implementations of more-or-less the same thing? I read somewhere that Nemerle's macro service is more powerful than Boo's; is this true?

How do they compare in terms of current activity, maturity, and IDE integration?

Also, would C# 5.0's rumored CaaS feature likely render them obsolete if it comes to fruition, or are there features that will keep them relevant?

Dax Fohl
  • 10,006
  • 5
  • 40
  • 82

2 Answers2

8

Adding CaaS to a language like C#, or even macros to Boo, is not nearly enough to reach Nemerle's level of metaprogramming, for which the language has been designed from the start. Algebraic types, quotation, and pattern matching are a must for abstract syntax tree processing.

Nemerle has recently reached release candidate status. Work on Nemerle 2.0 is already underway. Boo seems to be close to a similar stage, but a little behind.

Boo primarily integrates with SharpDevelop, while Nemerle has Visual Studio 2008 integration.

Don Reba
  • 12,756
  • 3
  • 41
  • 55
8

Nemerle language has many features that Boo language doesn't have. And if you need some Boo feature in Nemerle it is very easy to add it.

NN_
  • 1,473
  • 1
  • 10
  • 24
  • How about boo's feature that you don't have to type curly braces or semicolons? :-) – Robert P Mar 12 '11 at 08:53
  • 4
    @Robert P: Boo's syntax comes from Python, while Nemerle's from C# ... But, Nemerle also can use [Python-like syntax](http://nemerle.org/Indentation-based_syntax) – Jordão Mar 13 '11 at 22:55
  • Ha! Seems so. I guess the only other one is that (afaict) Nermele doesn't have the ability to run as an interpreted language (ala python/perl/etc), or am I wrong there too? – Robert P Mar 14 '11 at 20:32
  • 3
    Nemerle is compiled language like C#. It doesn't affect if you have compiled or interpreted language to create a REPL. Check nemish.exe ( https://code.google.com/p/nemerle/ ) . Like in F# it is compiled but you have console like Python. – NN_ Apr 05 '11 at 08:01