JikesTM is a compiler that translates JavaTM source files as defined in The Java Language Specification into the bytecoded instruction set and binary format defined in The Java Virtual Machine Specification.
You may wonder why the world needs another Java compiler, considering that Sun provides javac free with its SDK. Jikes has five advantages that make it a valuable contribution to the Java community:
* Open source. Jikes is OSI Certified Open Source Software. OSI Certified is a certification mark of the Open Source Initiative.
* Strictly Java compatible. Jikes strives to adhere to both The Java Language Specification and The Java Virtual Machine Specification as tightly as possible, and does not support subsets, supersets, or other variations of the language. The FAQ describes some of the side effects of this strict language conformance.
* High performance. Jikes is a high performance compiler, making it ideal for use with larger projects.
* Dependency analysis. Jikes performs a dependency analysis on your code that provides two very useful features: Incremental builds and makefile generation.
* Constructive Assistance. Jikes strives to help the programmer write better code in two key ways. Jikes has always strived to provide clear error and warning text to assist the programmer in understanding problems, and now with release 1.19 Jikes helps point out common programming mistakes as documented in Effective Java.
Abridged from a FAQ entry which was adapted from some material by Lou Grinzo for an article he wrote.
The fact that Jikes is a high-performance, highly compatible Java compiler that can be used on almost any computing platform makes it an interesting program and worth investigating for almost any Java programmer. But Jikes is also notable because it lies at the center of two events: the adoption of open source philosophy and practice by large corporations, and the continued growth of Java for Linux.
It's worth pointing out that Jikes is not, and is not intended to be, a complete development environment -- it is simply a command line compiler. It should not be considered a replacement for more complete tools, such as Source Navigator or IBM's VisualAge for Java which provide sophisticated graphical IDEs (Integrated Development Environments).
The Jikes compiler was released in binary form in April 1997 on the IBM alphaWorks site. Jikes for Linux was released on 15 July 1998. The response was overwhelming -- Jikes had more downloads in the three months after the announcement than in the fifteen months before the announcement.
Release of Jikes for Linux was soon followed by requests to open up the source. Many notes and comments from users suggested this would be a good idea. The source was released under a liberal license in December 1998 to make a very visible demonstration of IBM's commitment to open standards and to Java Technology, to make Jikes more reliable and accessible, to encourage more widespread use of Java Technology, to encourage standardization of Java Technology, and to gain some experience actually running an open source project. This marked the start of one of IBM's first efforts in the open source arena.
The original alphaWorks version of Jikes was written by Philippe Charles and Dave Shields of the IBM T. J. Watson Research Center. Since the release of the source they have continued to work on the compiler as contributors; however recently have officially been moved on to other projects within IBM. Today there are no IBMers who work on Jikes as part of their job description. Jikes survives today soley based on the free time contributions of members of the open source community.
The source code is available under IBM's Public License, which has been approved by the OSI (Open Source Initiative) as a fully certified open source license. The project provides access to the complete CVS development tree, which includes not only Jikes, but also the source for the Jacks Test Suite and the Jikes Parser Generator used to build Jikes. Jikes is included in many Open Source Operating Systems. The Jacks Test Suite is a replacement for the Jikestst package.