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 143538
To read all comments associated with this story, please click here.
Pointless
by segedunum on Sun 16th Jul 2006 15:13 UTC
segedunum
Member since:
2005-07-06

I find mapping existing languages to the .Net framework and the Common Language Specification utterly pointless, simply because you don't get Python at the end of it but yet another .Net language. All you have are syntactic differences between .Net languages, because what you're doing is mapping a language to a common language.

The two main languages in the .Net world are C# and VB.Net, and even VB programmers are questioning just what the point of VB is now because there's just no difference. You might as well just learn C# and be done with it.

Reply Score: -1

RE: Pointless
by saxiyn on Sun 16th Jul 2006 16:42 in reply to "Pointless"
saxiyn Member since:
2005-07-08

I find mapping existing languages to the .Net framework and the Common Language Specification utterly pointless, simply because you don't get Python at the end of it but yet another .Net language.

And you are completely wrong. IronPython implements a full Python language, not any subset of it. As a result, it is not a ".NET language", or in more technical term, "CLS compliant". It is not its goal.

Reply Parent Score: 4

v RE[2]: Pointless
by segedunum on Sun 16th Jul 2006 18:45 in reply to "RE: Pointless"
RE: Pointless
by thompson4822 on Sun 16th Jul 2006 17:01 in reply to "Pointless"
thompson4822 Member since:
2006-07-16

I'm afraid that if you think mapping Python or any other language to the CLR is pointless, you've failed to miss the point entirely. I would encourage you to consider these points:

1) It is easier than ever to pick the right tool for the job. If I feel that I need the easy expressiveness of Python/Boo for a particular part of my app, I can code that section with one of those languages. If on the other hand I need powerful macro and or functional programming support, Nemerle is a nice choice. For middle of the road stuff, I might do some coding in Java/C#. The *point* is that at the end of the day, it all works together as if it had all been written in just one language.

2) With many different languages comes many different ways of representing APIs, which makes the right tool for the right job approach prohibitive. With .Net, this is no longer the case. How I interact with OpenGL, collection classes, etc, etc, etc is the same no matter which .Net language I'm using. Thus the learning curve and the risk is mitigated.

3) The very fact that languages transform into a common denominator means that when NextNewLanguage# comes out to replace the current generation of languages, I'm completely insulated. As long as it devolves down to the CLR, all of my legacy code will work just fine.

4) This is just a higher level implementation of what has been around for a long time, or were you unaware of machine language? What was the point of C, C++, Pascal, etc, etc back in the day when in the end it was all reduced to machine language anyway?

Think about this technology and all of its implications. I am in no way shape or form a Microsoft fan, but I am having the time of my life using Mono because I find that this approach to coding gives me many benefits that in my 20 years of programming have *never* been available. This is not religious, but rather pragmatic. Having been through many 'this is the end all be all language' phases, I'm thinking that a framework which elevates the art beyond any particular language not only minimizes my risks, but also has the potential to help me realize better ROI and code reuse.

Best regards,


Steve

Reply Parent Score: 5

RE[2]: Pointless
by segedunum on Sun 16th Jul 2006 18:14 in reply to "RE: Pointless"
segedunum Member since:
2005-07-06

It is easier than ever to pick the right tool for the job. If I feel that I need the easy expressiveness of Python/Boo for a particular part of my app, I can code that section with one of those languages. If on the other hand I need powerful macro and or functional programming support, Nemerle is a nice choice.You've utterly missed the point.

The simply question you need to ask yourself is: Can you simply and trivially add support for many 'features' from one language like Boo or Nemerle to another .Net language like C#? If the answer is yes a different language is pointless. That's what is happening with C# as it gets developed further, and you'll see any alternative .Net languages fall even further by the wayside.

The only differences between .Net languages are syntactic differences simply for the sake of being different.

The *point* is that at the end of the day, it all works together as if it had all been written in just one language.

You've just given yourself everything you need to know there. That's because *it is* one language ;-).

With .Net, this is no longer the case. How I interact with OpenGL, collection classes, etc, etc, etc is the same no matter which .Net language I'm using.

Makes a different language a bit pointless, doesn't it? That's because at the core of it it is the same language.

Having the same common framework and runtime environment that at the same time allows the use of different languages is a paradox that cannot be squared. Either you enjoy the benefits of having the same framwork and runtime environment, or you enjoy the benefits of having a different language created for a different purpose. You can't have it all ways I'm afraid, and it's something many in the .Net world have come to realise.

This is not religious, but rather pragmatic.

Hmmmm. 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.

Having been through many 'this is the end all be all language' phases, I'm thinking that a framework which elevates the art beyond any particular language

Any framework which gives you that is giving you one language, as .Net is doing and as you've confirmed yourself.

Whenever this is raised, fans of .Net squirm and wriggle like there's no tomorrow. VB and C# coders out there have accepted there's no difference between .Net languages, hence all the fuss from VB coders about what the point of VB.Net is. Microsoft has seemingly accepted it, and the promotion of .Net as a language neutral environment seems to have very much fallen by the wayside.

not only minimizes my risks, but also has the potential to help me realize better ROI and code reuse.

*Finger firmly down throat*. That's a .Net fan comment if ever I heard one.

Edited 2006-07-16 18:19

Reply Parent Score: 0

RE: Pointless
by Tuishimi on Sun 16th Jul 2006 18:04 in reply to "Pointless"
Tuishimi Member since:
2005-07-06

...didn't microsoft decide to create a next generation of the classic VB now, as well?

Reply Parent Score: 1