Talk:Java Platform: Difference between revisions

Content deleted Content added
Moved comment from main page to talk
reason for removing 2 small paragraphs from main page
Line 35:
older than Java. Applets may the innovation but again as I mentioned - all
languages are evolutionary in nature
 
==removed two paragraphs; reasoning on this==
I just removed two paragraphs from the description of the JVM because I felt they could possibly be seen as misleading. I am archiving them here, with my appreciation for previous authors who contributed this material.
 
PARAGRAPH 1:
"This is not to say that one can truly compile Java code to its fullest extent (in order to reap the benefits of speedy native machine code). There are "compilers" available that will attempt this feat, but not all Java libraries have a machine code equivalent. For instance, the "reflect" library, which allows Java programmers to delve into instructions only available at runtime, is not well represented (if at all) by machine code."
 
COMMENT on P1:
As I stated in the replacement sentence, native code cached in memory is exactly as fast as any native code once the JIT-compilation is done. Reflection is the act of reading the meta-data out of the bytecode. This is file I/O and it compiles to machine code like anything else. Just because there is no equivalent to reflection in some languages doesn't mean that the code which executes reflection is necessarily slow once compiled. Of course there are things the JVM can do to make reflection slower or faster. This paragraph is not about those things, and I felt it was misleading and hence I removed it. I did teach architecture quite a while and I've had a good review of this material; the subtle inaccuracy (if it can be called that) shown here is very commonly misunderstood by students.
 
PARAGRAPH 2:
"Java was not the first virtual-machine-based platform, though it is successful and well-known. Previous uses for virtual machine technology primarily involved [[emulators]] to aid development for not-yet-developed hardware or operating systems, but the JVM was designed to be implemented entirely in software, while making it easy to efficiently port an implementation to hardware of all kinds."
 
COMMENT on P2:
I felt this is weak and at least incomplete if not inaccurate. There have historically been many uses of virtual machines in software, including for example the p-code intermediate language used for Visual Basic for about 15 years before Java was ever conceived. I believe that the concept of a virtual machine is discussed elsewhere in Wikipedia and this information ought to be covered thoroughly there.