Alexander Keiblinger | 2 Jun 2007 16:58

Re: Re: [scala-lounge] Scala .NET status

Hi Andrey,

Am 02.06.2007 um 00:28 schrieb Andrey Khropov:
>
>> In the mean time, if you're hankerin' for pattern matching on the  
>> CLR,
>> there's F#, which really isn't doing too bad for itself these days.
>
> Nemerle is much better to my taste.

I agree that Nemerle (http://nemerle.org/) is "better" than F#  
(http://research.microsoft.com/fsharp/fsharp.aspx) but in my view  
Scala has some fundamental advantages over Nemerle in the strong  
foundation on ideas about software components and software evolution.

Funny that you mention Nemerle because my original questio about  
Scala and .NET was rooted in my observation how useful a full  
integration in the .NET framework is. Nemerle has an (experimental)  
integration into the Visual Studio IDE and Nemerle is therefore fully  
usable as a development choice for real world .NET development.

Points about Nemerle (see http://nemerle.org/Grokking_Nemerle):
+strong macro/metaprogramming support
+Full integration in .NET, Mono and .NET IDE
+Records
+Namespaces
+design by contract (via macros)
-extension methods seem to be implemented, but trais are not (yet)
	-> weak single-inheritance extensions

Points about Scala:
+Java integration and (sort of) .NET
+Mixins, Implicit Parameters -> options for better, more modular  
software engineering
+Eclipse Plugin
-no macros/metaprogramming

They are similar in this areas:
+functional and imperative extensions on a strong OO base
+functional values
+lambda expressions
+type inference
+pattern matching, xml p. matching
+tuple and list handling

Maybe I have overlooked some fine details or your evaluations may  
vary but in general I think both are very strong languages coming  
from the same history (OO, ML, Haskell, Lisp etc.). The future would  
be brighter if these projects could in some way cooperate. Scala is  
stronger in the Java space and Nemerle in the .NET space - hello,  
wake up call. Why not work together and change the world/industry/ 
whatever.

Currently the situation from a users/programmers (well, my view I  
guess ;)) point of view is not that bright because there is no modern  
cross-plattform language with some industry support. Microsoft  
currently seems to have some quite clear ideas about integrating  
modern concepts (but the outcome will probably not be cross  
plattform). The Java crowd seems to be too afraid of radical changes.  
I really wish the good ideas (Scala and Nemerle) from academia would  
get strong backing from a big player with open source comittment  
(Google, Sun, IBM?).

Cheers,
Alex


Gmane