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 143718
To read all comments associated with this story, please click here.
RE[5]: Pointless
by mjmoran on Mon 17th Jul 2006 02:53 UTC in reply to "RE[4]: Pointless"
mjmoran
Member since:
2005-08-13

"Doesn't really mean anything unfortunately. "
Wasn't intended to. Just my personal observation.

" If they all used the same framework, same data types, same functions and same paradigms and compiled to exactly the same underlying code then you'd only pick one language over another because of syntax. That's not a good reason."

The problem with that is not everything is the same. Also, syntax is important. Especially if you are porting an existing app.

"
That's tough luck I'm afraid. Once you start to dictate a common base, runtime, framework and set of standards you end with with each language being so straight jacketed that any differences that made them useful are gone or severely reduced. Interoperability has to be done in other and less exact ways, otherwise you lose all or most of the differences and advantages of the language you've chosen. "

This was an example of what you could do with CPython. On .net this could translate to a situation where the gui is already coded in vb.net however you want to use a different language for the backend.

"No, you can't. You can only use languages that have been ported to .Net. If you want to use, in an interoperable way, a language with a different paradigm or that doesn't implement various concepts in the same way as .Net then you're out of luck. You can't put square pegs in round holes, which is what many people claim is possible with .Net. "

Well, the statement was only focused on .net , however, if you wanted to create a language specifically for a purpose, you might find it useful for that purpose. Remember, CPython(the reference version of Python) is coded in C(which I assume why C# is used for IronPython)

"I think you're getting your comparisons a bit mixed up. You could quite conceivably replace CIL code with C# since everything interoperability-wise should be CLS compliant, in theory, but that would simply be too restrictive in view of the other, non-compliant, things you may want to do in the runtime."

You could always replace assembly with C however, it would introduce irritations aswell.

One example(from Wikipedia)

C#
class HelloWorldApp
{
static void Main()
{
System.Console.WriteLine("Hello, world!");
}
}

CLI
.method public static void Main() cil managed
{
.entrypoint
.maxstack 1
ldstr "Hello, world!"
call void [mscorlib]System.Console::WriteLine(string)
ret
}

As you see, they are similar, in the sense that they do the same thing, but one is very different from the other.

Also, I think where IronPython could be very useful is in the case where you want to port an existing program to .net while staying on Python.

-Mike

Reply Parent Score: 1