harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Brooks" <jmb_perso...@hotmail.com>
Subject Re: Against using Java to implement Java (Was: Java)
Date Fri, 13 May 2005 18:44:03 GMT
>Isn't it a good idea to write the first implementation in a functional
>programming language (read the wizard book)? That's what these
>platforms are designed for and the constructs are there to help in
>designing the thing. Then when you're happy you know what's good and
>bad you can re-code it in something that actually runs fast. I'm aware
>of a reasonable amount of literature that talks about GC and
>interpretation techniques that uses languages such as ML and Scheme.

Somebody else mentioned Erlang (because of its concurrency support?), and I 
mentioned Ocaml, which is an ML variant.

I think your idea is a good one, but I don't think that will happen.  First, 
there's an entrenched base of people who think a declarative programming 
style is just weird, period.  They don't like it and don't want to do it.  
Then there'd be the issue of what functional programming language to use.  
At the end of the day, you have to have enough hands to do the work, and you 
would be surprised how many willing workers have never had exposure to 
functional programming.

If we were to go the route of writing the prototype in a functional 
programming language, I'd suggest ANSI Common Lisp.  There are a lot of 
LISPers out there (and Schemers), and LISP has features that make bottom-up 
rapid development very doable.  There are a lot of free and open-source 
Common LISP implementations as well.  SBCL, CMU-CL, CLISP, GCL, OpenMCL, 
blah blah blah, and of course there's the commercial stuff like Allegro CL 
and LispWorks.  With its macro facility, ACL codebases can become their own 

ML/Ocaml is good too.  I'd actually recommend Ocaml over ML because it has 
seen actual commercial use in Europe (although SML has been used in 

I don't know enough about Erlang.  Clean looks interesting, and Mozart looks 
pretty interesting too, but then we are getting into niche languages that 
almost nobody who would be interested in this project would know that much 

Heck, prototype it with Jython. :)

>Compiled Java initially seems as good as anything, but don't those
>compilers add in their own brand of GC? Wouldn't that be an overhead
>we neiter need nor want? Do we want to generate our own native
>compiler? I'm thinking the best native compiler/language to use is
>probably C.

We've got people here from Redhat, so they are probably thinking that 
provide a back-end to GCJ would fit that need.

>I agree that most of the libraries can be written in Java, but
>wouldn't that constitute a separate apache project, just like GNU
>Classpath? The VM should probably be as clean as a very clean thing...
>in a clean room.. (hence why I never mentioned C++ :)

I suspect that since we need both to pass the TCK, we will have two projects 
in one.  I think that the class libraries will be the bigger part of the 

Express yourself instantly with MSN Messenger! Download today - it's FREE! 

View raw message