(dit had ik eerst elders gepost, maar een discussie hier trekt misschien wat meer .NET kenners aan (Otis bijvoorbeeld
) die kunnen bijdragen aan de discussie).
Hier een heel goed stukje van Chris Rathman op Lambda the Ultimate.
Het is een reactie op dit verhaal van Bertrand 'Eiffel' Meyer.
<?human-reader lees eerst beide stukken voor je verder gaat?>
Ik ben het niet vaak zo met iemand eens als met dit stukje van Chris
. Overigens heeft Bertrand natuurlijk ook gelijk dat het om de mapping gaat (wat natuurlijk bij elke taal en in elke compiler zo is), maar het is de vraag of dit nu echt een argument is voor de multi-language capaciteiten van .NET versus andere systemen als Java imho.
Stratego kunnen we ook compileren naar Java, Haskell kan gecompileerd worden naar Java. Alles kan gecompileerd worden naar Java, maar het is de vraag of het resultaat van de mapping acceptabel is.
Dit is in ieder geval een onzinnige, niet onderbouwde statement imho:
Dit is helemaal schandalig:
) en de eerste GJ compiler was al goed bruikbaar voordat er ook maar 1 regel code van .NET was geimplementeerd. Generics zijn in de verste verte geen reactie op NET.
Mijn indruk van Bertrand is met dit stuk wel drastisch slechter geworden.
Hier een heel goed stukje van Chris Rathman op Lambda the Ultimate.
Het is een reactie op dit verhaal van Bertrand 'Eiffel' Meyer.
<?human-reader lees eerst beide stukken voor je verder gaat?>
Ik ben het niet vaak zo met iemand eens als met dit stukje van Chris
Stratego kunnen we ook compileren naar Java, Haskell kan gecompileerd worden naar Java. Alles kan gecompileerd worden naar Java, maar het is de vraag of het resultaat van de mapping acceptabel is.
Dit is in ieder geval een onzinnige, niet onderbouwde statement imho:
.NET heeft wellicht een van de beste omgevingen geboden waarin language interop vrij eenvoudig te realiseren is, maar het is zeker geen kwestie van revolutionair werk. De praktische samenstelling en presentatie van de tools en het platform zorgen voor 'new heights', niet de technologie.What does it take to support several programming languages within one environment? .NET, which has taken language interoperability to new heights
Volgens mij hebben standaarden voor stack-frame layouts dit slot doorbroken, maar goed...Microsoft's .NET breaks this lock
Dit is helemaal schandalig:
De preface van de Java Language Specifcation 1.0 uit 1996 sprak al over generics voorstellen toen Microsoft nog in de verste verte geen idee van .NET had (MS Windows 95 was net uitEveryone will benefit, even the Java community: Now that there's competition again, new constructs are--surprise!--again being considered for Java; one hears noises, for example, about Sun finally introducing genericity sometime in the current millennium. Such are the virtues of openness and competition.
Hum, what's new? Java Bytecode doet exact hetzelfde.What is new is that the object model, as we've seen in detail, retains high-level structures such as classes and inheritance that have direct equivalents in source programs written in modern programming languages, especially object-oriented ones.
Ok, maar ze moeten zich wel aanpassen aan het OO-target met alle gevolgen van dien. Wat is nieuw tov Java? Meer instructies en een wat uigebreider object-model, das alles. Fijn voor language-interop? Ja. Een wereldschok op dit gebied? Mwah.But it's definitely incorrect if we consider the entire set of .NET language players. The case of non-OO languages is the most obvious: Right from the initial announcements, .NET has included languages like APL and Fortran, which no one would accuse of being object oriented.
Tjonge, jonge hoe blind kan je zijn? C++ is niet aangepast om Microsoft het object-model van C# superieur vond aan dat van C++. C++ zou nooit goed in .NET passen (prettig aanvoelen) als het niet aangepast was.Managed C++ is very close to C#, in spite of what the default Microsoft descriptions would have you believe.
The signal to C++ developers is hard to miss: The .NET designers don't think too highly of the C++ object model and expect you to move to the modern world as they see it.
Mijn indruk van Bertrand is met dit stuk wel drastisch slechter geworden.
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment