From: Brian Atkins (brian@posthuman.com)
Date: Sun Jun 13 2004 - 11:11:28 MDT
Harvey Newstrom wrote:
> 
> Java is a high-level language (or a 
> medium-level language according to some people).  It still compiles down 
> to the same machine code that C does.  What this means is that the 
> differences between C++ and Java are merely at the human readable 
> abstraction layer.  These differences do not exist in the executable 
> binaries themselves.  Security people often run into these "gotchas" 
> where Java programmers can't understand how they are getting the same 
> errors as C programmers:
We're going way offtopic here, but I have to nitpick this because it 
seems wildly incorrect. Last I checked (admittedly ca. 1996...), Java is 
not compiled into anything similar to the machine code a C program 
compiles to. Java is compiled into "bytecode" which is then run through 
the Java Virtual Machine (JVM) which is a non-physical "CPU" emulated in 
software running on a real CPU. Besides being a completely different 
machine language than what runs on the real CPU, the bytecode enables 
various security and other features that would not otherwise be 
available at runtime in a traditional CPU.	
-- Brian Atkins Singularity Institute for Artificial Intelligence http://www.intelligence.org/
This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:00:47 MDT