Project Documentation


System Design


           Java is a well designed programming language because of its simplicity and robustness.  However, the performance is slow since we run the program in another "simulator". In jdk, the name convention is designed to make sense.  Therefore, it is very easy for a new programmer to learn.  It also enable us to do the complicated project.  The object oriented design is the only feature that can enable us to solve the problem when the problem becomes more and more complicated in reality.  We have C++ STL share library  that provided us many classes in C++.  However, it is not centralized in comparing with Java language. Moreover, STL is not quite object oriented in its design, and the name convention for class or method are also terrible.  Therefore, We need a C++ library which make the java programmer easily adapt their programs to C++ program.  The library will provide exactly same object hierarchy as Java language. We are going to following the object design as in JDK.    A Java like C++ library which has the same  structure as in Java Development kit1.1. This library has to be platform independent. Moreover, it has all utilities that java provided. The goal is to eliminate the pointer manipulation which cause complexity and error in the C++ code. It is totally object oriented design. All Class name and convention shall follow Java.

System Requirements:

  • Must have the similar objects structure as in JDK
  • Must work in Unix like operating  system and windows
  • Must be easy to use
  • Must have a good performance

Library Design:

  • We think that JDK 1.1 is well designed object library.  We will make every class and hierarchy similar to JDK1.1.

TO-DO List

         Phase 1: Implements the utilities classes according to JDK.

    • Cjava Utility Class
      • cjava.lang Package
      • cjava.util package
      • cjava.io package
      • cjava.math
      • cjava.text
      • cjava.net

    Phase 2:    Implements the GUI interface package according to JDK.

    • Cjava GUI class
    • using QT-X11 free edition

Objects Hierarchy

  • Lang package


    • March 1:  Basic structure of this library
    • June 1:     Utility Class
    • December:  First version released


Email:  kjin@cs.ucla.edu SourceForge