JavaJava is a strongly- and statically-typed procedural, garbage-collected object-oriented programming language with syntax like that of the C language released by Sun Microsystems as a platform for hardware-independent applications, but only in a very limited sense. Java started as an in-house development tool by Gosling named Oak for the various Sun-supported platforms.
The downfall is that Java was built using Smalltalk and Self compiler technology, but is a less-expressive language, and requires interface signature dependencies that break the encapsulation promised by object-orientation. In particular, not all elements of Java are objects, including classes, literals, arrays, etc. In particular, only recently has genericity been introduced in even common extensions. However, a lot of research is performed in Java because of the money behind it, so we cannot fully ignore it.
See also OpenJava.
- See the JVMs.
- OpenJIT: a reflective JIT compiler (a Run-Time Code Generator) for Java. From its home page:
OpenJIT is a "reflective" JIT compiler in that not only it is almost entirely written in Java, but also that it bootstraps and compiles itself during execution of the user program, and compiler components coexist as first-class objects in user heap space. Thus, users can tailor and customize the compilation of classes at runtime for variety of purposes such as application-specific optimization and partial evaluation, dynamic, compiler-assisted environment adaptation of programs, debugging, language extension and experimentation, and other types of advanced compiler-based research and applications. OpenJIT even allows full dynamic update of itself by loading the compiler classes on the fly from the network. OpenJIT is fully JDK compliant, and plugs into standard JVMs several Unix platforms such as Solaris (Sparc), Linux (x86), and FreeBSD (x86). On Linux/x86 platform, OpenJIT 1.1.14 (the current release) is faster than the JDK 1.2 classic VM compiler, runs more or less the same speed as other commercial JIT compilers on classic VM.
This page is linked from: Abora Aldor AspectJ BOBJ C language C# C++ CLR Demeter Dylan E Glee Godiva IL Inheritance JANOS JIT JOS JVM Libero Linda LoI Macro MetaL Microkernel Debate Mozart MultiJava Object-Oriented OpenHW OpenJava Pizza PL 101 Plurix Prevayler Prolog Python Ruby Salsa Sanos Scala Scheme Self SLK Smalltalk Stella language Topsy Type System Universal Binary Format Visual BASIC