User: Password:
|
|
Subscribe / Log in / New account

The .NET API patent, mono, and GNOME

The .NET API patent, mono, and GNOME

Posted Jan 20, 2006 12:59 UTC (Fri) by massimiliano (subscriber, #3048)
In reply to: The .NET API patent, mono, and GNOME by njhurst
Parent article: The .NET API patent, mono, and GNOME

IMHO, those languages are very nice, but not many developers understand them (or any functional language).

You can argue that they should, but they don't, they think "imperative", and cannot see the value of closures, type inference & co, and just pretend that Haskell, Scheme and Ocaml are nothing more than useless intellectual contortions.

Mono has the potential to get the best of both worlds: C# as a language is anyway good for the "mainstream programmer", but the runtime and bytecode can easily support more evolved languages (and the existence of Nemerle and F# is a practical prooof of this). And having a common platform among languages makes things easier when you mix and match them (try using a Python library from, say, Ruby, and contrast this to using a Boo assembly from Nemerle, which is possible today).

And moreover, C# itself is evolving on the same direction...


(Log in to post comments)

The .NET API patent, mono, and GNOME

Posted Jan 21, 2006 16:29 UTC (Sat) by tzafrir (subscriber, #11501) [Link]

Isn't libc such a platform? Why abandon it and force Python, Haskell, Scheme etc. users to use the new platform?

The .NET API patent, mono, and GNOME

Posted Jan 21, 2006 22:32 UTC (Sat) by massimiliano (subscriber, #3048) [Link]

Yes, it is, but it is too low level.

If you think of it, each one of Python, Haskell, Scheme (and others) must implement two things: a compiler and a runtime system. And their runtimes and compilers are all incompatible (again, try using some Python classes from Scheme, unchanged: you can't).

In the .NET world, they should just provide a compiler, and bingo, you have everything you need, and full interoperability. It is the same goal of Parrot, but based on an open standard and an already mature platform...

I hope I made my point clearer... libc is OK, but it's not enough for this kind of goal, you need more, and the .NET ECMA specs provide just that "more".

The .NET API patent, mono, and GNOME

Posted Jan 25, 2006 2:44 UTC (Wed) by zblaxell (subscriber, #26385) [Link]

C++ compiler people (and sometimes even C compiler people) routinely fail to produce compatible runtimes between different versions of the same compiler for the same language, despite fairly strict architectural constraints. They apparently do this for performance or correctness reasons, or perhaps to implement new features.

How can we expect people working on *different languages* to produce compatible runtime code, without that code eventually sucking?

The only thing magical about i386 bytecodes (which is what most of libc is made of) is that it is seriously inconvenient to change; otherwise, there would be new versions of the machine language in the CPU just as often as new compilers come out today.

The .NET API patent, mono, and GNOME

Posted Jan 25, 2006 6:54 UTC (Wed) by massimiliano (subscriber, #3048) [Link]

How can we expect people working on *different languages* to produce compatible runtime code, without that code eventually sucking?

Fairly easy: the people interested in the languages do not produce the runtime code, they use the exisitng one (with clear specifications by ECMA and ISO) and produce only a compiler for their language.

Less work for language people, and less mess for everybody else. And BTW, their compiler does not need to be ported to any CPU architecture, it is the runtime that provides the JIT compiler (and also an AOT one if you want it).

Hopefully, we (runtime people) will provide a runtime that does not suck ;-)

At least this is the .NET vision of things (which, incidentally, is in practice also the Parrot one, even if IMHO .NET and Mono are more mature now).


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds