Re: Major change proposal

Charles Hixson <[email protected]> Mon, 02 Aug 2004 22:17:08 -0700
Newsgroups gmane.comp.lang.prothon.user
Message-ID <[email protected]>
Mark Hahn wrote:

>...
>If I were to put my current Prothon interpreter work aside for a while and
>switch to working on "IronProthon" (a Prothon to run on .Net), then I would
>have a fast reliable Prothon just as soon if not sooner, but more
>importantly, it would have the entire Microsoft .net library available to
>it.
>
>It would also have the Unix/Linux world available through the open source
>Mono project from Novell.  This open source version of .net project is at
>the 1.0 stage and was developed by the author of Gnome, so it is to be
>taken seriously....
>
>I welcome feedback and thoughts on this major change.
>
>  
>
I'm not really convinced that .net (mono) is a safe bet.   I keep 
suspecting MS of holding patents that can be coerced into covering it.  
This is only based on the comments of one MS vp a year or so ago who 
said, basically, ".Net is our IP, and we will defend it."  This isn't 
much to go on, so perhaps it should be ignored. 
OTOH, I don't know how much of a rewrite you're talking about.  And I 
don't know what limitations of capabilities or performance would be 
entailed.  (I keep hoping for something like Pyrex...)

Depending on Mono means that you are basing your GUIs around GTK#, at 
least for the next bit.  (I don't think of that as bad, but rather as 
something to be considered.)

I can see many potential benefits.  Possibly enough to counterbalance 
the dangers.  Certainly if you want to do this, the time is early in the 
process (i.e., soon).

One thing that I hope you will preserve is persistance.  That would be 
too high a price to pay. 

Another thing to evaluate is "What language design compromises would you 
need to make in order to fit into the .net model with reasonable 
execution efficiency?"  I know that the first version of Eiffel# 
abandoned multiple inheritance, though I understand that later they 
found a way to re-include it.