Linked by Eugenia Loli on Sat 15th Jul 2006 22:45 UTC
.NET (dotGNU too) Jeff Cogswell writes: "I'm about to make a confession. Even though I've written several books and articles about C++, I have a secret: C++ isn't my favorite language. I have lots of languages that I use, each one for different purposes. But the language I consider my all-time favorite is Python."
Thread beginning with comment 143742
To view parent comment, click here.
To read all comments associated with this story, please click here.
PlatformAgnostic
Member since:
2006-01-02

Here's the thing... you can make a language that uses datatypes which are not CLS compliant. In fact, most of the IP classes would not be CLS compliant, so you can't write a class in IP and call it from C#. IP classes do not have to follow the class structure of .NET and they are in fact fully compatible with Python classes.

There's also an implementation or two of Scheme for .NET. I don't see any way you could shoehorn that into CLS compliance. C# also has features that are not CLS compliant. All of these languages have features that make them cool and change their level of abstraction from the baseline CLS standard in .NET. All this stuff is implemented at the base by .NET data types and compiled by the .NET jit, but how do you know from the IP language that classes are really just dictionaries of function objects, which are pointers to DynamicMethods? You don't! The language hides all of this from you and transforms the .NET type system to build its own type system, much like C transforms machine primitives into a type system. You thus have a python language that can access .NET and perform on par with the CPython implementation.

Reply Parent Score: 1