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

The .NET API patent, mono, and GNOME

The .NET API patent, mono, and GNOME

Posted Jan 19, 2006 3:43 UTC (Thu) by njhurst (guest, #6022)
Parent article: The .NET API patent, mono, and GNOME

If we are looking at using a new language, why not consider far more powerful and elegant languages such as Haskell, Lisp, Ocaml or Mercury? Time and time again people discover that these languages pay off quickly, yet Gnome still argues about tired old C derivatives.

(A standard reply to this is that there are no significant gnome or kde projects to use such high level languages making it hard to justify a leap into the dark, but this argument is somewhat self-fulfilling)


(Log in to post comments)

actually the standard reply is ...

Posted Jan 19, 2006 4:27 UTC (Thu) by JoeBuck (guest, #2330) [Link]

... produce some code, and we'll look at it. You're asking other people to produce code in languages they don't know, because you like those languages. It doesn't work that way.

actually the standard reply is ...

Posted Jan 19, 2006 11:58 UTC (Thu) by rwmj (subscriber, #5474) [Link]

We're producing (proprietary) apps for clients in lablgtk2, the OCaml Gtk interface:

http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html

It works very well, and OCaml programs as just about as fast as C programs.

Rich.

actually the standard reply is ...

Posted Jan 19, 2006 12:46 UTC (Thu) by dcoutts (guest, #5387) [Link]

There's also Gtk2Hs. Having done both, I can assure you that it really is much easier writing GUIs in Haskell than in C.

The .NET API patent, mono, and GNOME

Posted Jan 20, 2006 12:59 UTC (Fri) by massimiliano (subscriber, #3048) [Link]

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

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

The .NET API patent, mono, and GNOME

Posted Jan 26, 2006 20:44 UTC (Thu) by renox (subscriber, #23785) [Link]

-I don't know Haskell but if I remember well, it doesn't have a debugger, which is a big minus.
Also I also remember a guy who tried to make a poker server in Haskell and found it easier to use Erlang.
-Many people dislike Lisp due to its syntax.
-On a more personal case: I've tried to learn Ocaml and finally rejected it due to its syntax too. It's still easier on the eyes than Lisp, but apparently it's not gathering much momentum.. Maybe I'm not the only one to dislike its syntax.
-I don't know Mercury nor Erlang and I suppose many people don't either.

It's a bit like Pascal variants, there are some many different functionnal language that none is gathering steam, so it goes nowhere.

On a side note, Scala seems nice (never used it though), that's the first functionnal language I've read about that has a syntax which doesn't suck IMHO (it's not necessarily the first of course, I don't claim to know each functionnal language).
But Scala is too new to base a framework like GNOME on it..


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