[vox-tech] Compiling C into Java bytecode?

Micah J. Cowan vox-tech@lists.lugod.org
Mon, 30 Jun 2003 10:05:24 -0700


On Sun, Jun 29, 2003 at 01:07:24PM -0700, Michael Wenk wrote:
> On Sunday 29 June 2003 02:32 am, Bill Kendrick wrote:
> > Okay, just out of curiosity.  Say one wanted to create a 'Java application'
> > (e.g., something that runs in a web browser, cell phone or PDA JVM),
> > but they wanted to write the application using the C /language/.
> >
> > This is possible, is it not?  If so, are there some tools for this
> > under Linux?  (I see "gjc", the Java compiler from GNU, as well as
> > "gij", the Java bytecode interpreter from GNU; but nothing for
> > taking code in other programming languages and turning them into Java
> > bytecode)
> >
> > Thx!
> >
> > -bill!
> 
> The biggest problem would be language features.  C allows you to many things 
> java does not.  You'd probably spend more time trying to debug your 
> javabytecodes on whatever system you're developing than you would learning 
> java syntax.  Also, even if you wanted to use C, you would still have to 
> learn the Java API(or write your own, which would be difficult to do), and 
> how to call API classes from within the language.  

This would be a problem if you were compiling C source into Java
source; but AIUI the JVM is a pretty complete virtual representation
of an actual machine; you should be able to use all features you
normally have in C.

But it'd either have to be a freestanding (think "embedded")
implementation, or you'd need a decent implementation of the standard
C library in javacode.

-Micah