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."
Permalink for comment 143606
To read all comments associated with this story, please click here.
RE[3]: Pointless
by mjmoran on Sun 16th Jul 2006 19:02 UTC in reply to "RE[2]: Pointless"
mjmoran
Member since:
2005-08-13

Let me preface this comment by saying im no Microsoft fanboy, but I do think that the IDEA of .NET is probably the best thing Microsoft has ever done, even if the implementation(re:license) is poor. Infact, thats the only thing that really keeps me off the platform(though I am tracking mono). Its exactly what Sun should implement for Java. Support multiple languages natively.
Now, I realize that everything compiles down to CIL, but thats really no different then what GCC does when it uses one of its many front ends to compile down to a 'middle end' before compiling down to machine for the target system.

"My point is logic. If you can compile many languages to IL then they are logically the same language, separated only by different syntactic sugar that does the same thing. "

Why write code in C or any language which compiles down to machine then? After all, whether you are writing your program in machine, raw assembly, assembly+macros, c, c++ or any other language which compiles down machine they all are logically doing the same thing separated only by different syntactic sugar.

The reason is abstraction. Writing even a mildly complex program in assembly is absolutely mind-blowing(its fun, but can be a drawn out affair). The reason to have multiple languages and in fact, higher level languages is to be able to abstract certain elements of the code AND be able to use the best features of different languages in a cohesive way.

This is one thing that CPython really excels at. It is a very good glue language. For instance, its much easier to write a gui app in python than c. However, if you have one function that is processor intensive, you can recode only that module in c and use it in your app.

Now, in this case, everything ends up as CLR bytecode, however, the principle is the same. By allowing different languages, you app can use the features of all languages. Now, I realize that you could code everything in CIL but that really is the assembly of CLR.

Reply Parent Score: 4