Java and JavaScript

Development · Tutorials & FAQs · Software · JVM compilers · External

Java is an object-oriented language developed at Sun which has strong similarities to C++. It is frequently used for embedding software resources inside web pages.

Java programs compile into bytecodes which represent the machine code for the Java Virtual Machine (JVM). The fact that Java is based on a virtual machine allows Java bytecodes to be loaded across the Internet for execution on a remote machine without depending on the internal architecture of the remote machine in any way. The virtual machine is normally implemented in software (e.g. in Java-aware web browsers), but Sun are also producing hardware implementations of Java processors. Several vendors are producing compilers for other languages which will generate code for the JVM, and a few of them are included here.

JavaScript is similar in appearance to Java, but it is in fact a (much less powerful) scripting language developed originally by Netscape for use in HTML documents. It is interpreted directly by Web browsers such as Netscape Navigator. JavaScript lets you create dynamic HTML pages which carry out some active processing, rather than just static documents, without the need for any special development tools. It also provides an easy way to communicate with Java applets running within the same web page, e.g. for transferring information from HTML forms to applets.


Development tools:

Software package Java 2 SDK 1.3.1
Sun's Java 2 Software Development Kit for Windows. You'll probably want to install a development environment as well, as the tools in this package are intended for use from a command prompt.
   ¤  Apr 1998. Redistributable only in accordance with license conditions.
Home site: http://www.javasoft.com/
Software package Generic Java
A compiler for a fully Java 2 compatible extension to Java which supports generic classes (based on C++ templates) which includes type-safe versions of the Java 2 collection classes. You'll also need to install the Java SDK, which provides the Java interpreter and the standard Java 2 API classes.
   ¤  Aug 1999. Freeware.
Home site: http://www.cis.unisa.edu.au/~pizza/gj/
Software package Rhino
An implementation of JavaScript written in Java, which includes full source code.
   ¤  Sep 2000. Freeware.
Home site: http://www.mozilla.org/rhino/
Software package JavaIDE
An easy-to-use Windows development environment by John English for the Sun JDK compiler, the Jikes compiler or the GJ (Generic Java) compiler. It automatically determines the correct filename for a Java source file, provides an output window which can be scrolled, printed and saved, and has other capabilities such as source code reformatting and generating skeleton HTML files for applets.
   ¤  Jun 2001. Freeware.
Home site: ftp://ftp.brighton.ac.uk/pub/je/
Software package Pow!
The Programmer's Open Workbench for Windows. This includes an Oberon compiler, but it can also be used for Java and C++ development if you have the Sun JDK or GCC (g++) installed. C++ requires an extra plugin to be installed separately. Oberon source code is included.
   ¤  Nov 2000. Freeware.
Home site: http://www.fim.uni-linz.ac.at/pow/pow.html
Software package Grasp
An amazing development tool for Ada 95, C, C++ and Java which displays control structure diagrams of your code.
   ¤  Aug 1999. Freeware.
Home site: http://www.eng.auburn.edu/grasp/
Software package JForge Ultra
A GUI builder for Java.
   ¤  Apr 1999. Evaluation version.
Home site: http://www.tek-tools.com/jforge/
Software package Bluette
A nice Java visual development environment for Windows.
   ¤  Feb 2000. Evaluation copy for personal use.
Home site: http://www.bluette.com/
Software package JIG
A Windows integrated development environment for Java.
   ¤  Jun 2000. Shareware.
Home site: http://www.scubed.cc/
Software package JPad Pro
A Java development environment for use with the JDK.
   ¤  Mar 1999. Shareware.
Home site: http://www.modelworks.com/
Software package JToExe
A nice utility to convert a Java class (which is normally interpreted by the Java interpreter) into a standalone Windows program.
   ¤  Dec 1999. Free for non-commercial use.
Home site: http://www.bravozulu.com/
Software package JXT
A Java source code analyser for Windows which displays the relationships between classes in your source code.
   ¤  Jun 1999. Shareware.
Home site: http://www.simtel.net/simtel.net/win95/java.html
Software package Decafe Pro
A decompiler for Java class files.
   ¤  Jul 1999. Shareware.
Home site: http://decafe.hypermart.net/
Software package Java Class Disassembler
A decompiler for Java class files.
   ¤  Apr 1999. Shareware.
Home site: http://www.gatewest.net/~geoff/
Software package Libero
A tool which lets you design programs visually using state diagrams and then generates code in C, C++, Java, PHP, assembler, or a range of other languages.
   ¤  May 1999. Freeware.
Home site: http://www.imatix.com/
Software package UML Studio
A UML design tool which can generate code in Ada, C++, Java or IDL. This is a restricted version which can only be used for small projects. You will need to register is you want to use it for large projects.
   ¤  Oct 2000. Shareware.
Home site: http://www.pragsoft.com/
Software package Coco/R
An LL(1) compiler generator which generates parsers and scanners in Java. Includes full source code.
   ¤  Jul 2001. Freeware.
Home site: http://cs.ru.ac.za/homes/cspt/cocor.htm


Tutorials and FAQs:

Document Thinking in Java (2nd edition)
A complete online copy of Bruce Eckel's textbook "Thinking in Java", also available from Prentice Hall if you prefer to read a printed book.
   ¤  24 Apr 2000. Reproduced by permission.
Home site: http://www.BruceEckel.com/
Document Java, an Object First Approach
A complete online copy of Fintan Culwin's textbook, which is now out of print. The examples from this book are also available on this CD.
   ¤  24 Apr 2000. Reproduced by permission.
Home site: http://www.scism.sbu.ac.uk/jfl/jflintro.html
Document An Introduction to Programming using Java
A tutorial from Hobart and William Smith College. If you want to be able to see the examples in this tutorial running, you'll need to install a Java-aware web browser first (see also the instructions for using your own browser).
   ¤  Feb 2001. Reproduced by permission.
Home site: http://math.hws.edu/javanotes/
Document A Java Foundation Class Primer
The introductory chapter of Fintan Culwin's book (published by Macmillan).
   ¤  27 Jul 1999. Reproduced by permission.
Home site: http://www.scism.sbu.ac.uk/jfl/jfcbook/
Document The Java Programmer's FAQ
Frequently asked questions from the newsgroup comp.lang.java.programmer.
   ¤  27 Feb 2001. Reproduced by permission.
Home site: http://www.afu.com/javafaq.html
Document A Critique of C++
A well-argued polemic by Ian Joyner about object-oriented programming in general and C++ in particular, with comparisons to Eiffel and Java.
   ¤  1 Jan 2000. Reproduced by permission.
Home site: http://www.elj.com/cppcv3/
Document Introduction to Programming Langauges
A comparative study of programming languages, their development and the development of the programming paradigms that they embody.
   ¤  3 Aug 2001. Reproduced by permission.
Home site: http://cs.wwc.edu/~aabyan/221_2/PLBOOK/
Document Object-Oriented Programming FAQ
Frequently-asked questions about object-oriented programming in general.
   ¤  2 Apr 1996. Reproduced by permission.
Home site: http://www.cyberdyne-object-sys.com/oofaq2/
Document A JavaScript Tutorial
An in-depth look at JavaScript (not Java!).
   ¤  19 Dec 1998. Reproduced by permission.
Home site: http://rummelplatz.uni-mannheim.de/~skoch/js/
Document Object-Oriented Analysis and Design
An introductory course.
   ¤  1997. Reproduced by permission.
Home site: http://www.firstnet.co.uk/meniscus/oocnotes.htm (now gone)


Software resources:

Software package Baklava
A Java sprite library which includes full source code.
   ¤  Jul 1997. Freeware.
Home site: http://www.boutell.com/
Software package Gamelet
A set of Java classes for game development, including source code.
   ¤  Apr 1998. Freeware.
Home site: http://www.hipbone.com/
Software package SAX (Simple API for XML)
A set of Java classes for processing XML documents.
   ¤  May 2000. Public domain.
Home site: http://www.megginson.com/
Software package Saxon
A set of XML tools including an XSLT processor and Java classes for XSL processing.
   ¤  Jul 2001. Freeware.
Home site: http://saxon.sourceforge.net/
Software package Xalan for Java
The Java version of Xalan, a class library for XML manipulation using XSLT/XPath.
   ¤  May 2001. Freeware.
Home site: http://xml.apache.org/
Software package Xerces for Java
The Java version of Xerces, a class library for processing XML documents. Source code is also available.
   ¤  Jun 2001. Freeware.
Home site: http://xml.apache.org/
Software package Textbook examples
Source code for the examples from Fintan Culwin's textbook Java: an Object First Approach, which is also on this CD.
   ¤  Apr 2000. Reproduced by permission.
Home site: http://www.scism.sbu.ac.uk/jfl/jofcode.zip
Software package Textbook examples
Source code for the examples from Mike Smith's book "Java: an Object-Oriented Language".
   ¤  Jul 2000. Freeware.
Home site: http://www.bton.ac.uk/java/home.htm
Software package JacORB 1.3.30
A Corba 2.0 object request broker for Windows implemented in Java. Source code is also included.
   ¤  Jun 2001. Reproduced under the terms of the GNU General Public License.
Home site: http://www.inf.fu-berlin.de/~brose/jacorb/
Software package Java Data Access Library
A free Java class library for database access built on JDBC, with full source code.
   ¤  Jan 2000. Free software under the terms of the GNU General Public License.
Home site: http://www.simtel.net/simtel.net/win95/java.html


JVM compilers for other languages:

Software package JGNAT 1.1
A free Ada 95 compiler which targets the Java Virtual Machine, so now you can write all your Web applets in Ada...
   ¤  Sep 2000. Free software under the terms of the GNU General Public License.
Home site: ftp://cs.nyu.edu/pub/gnat/
Software package J-Eiffel
An Eiffel compiler which generates code for the Java Virtual Machine (JVM).
   ¤  Mar 2000. Freeware.
Home site: http://www.spin.ch/~kalberer/j-eiffel/
Software package Garden Point Component Pascal
An implementation of Component Pascal (the successor language to Oberon) for the Java Virtual Machine (JVM).
   ¤  May 2001. Freeware.
Home site: http://www.plasrc.qut.edu.au/ComponentPascal/
Software package NetProlog
A Prolog compiler which generates codee for the Java Virtual Machine (JVM).
   ¤  Jan 2000. Freeware.
Home site: http://netprolog.pdc.dk/
Software package JavaLog
A Prolog interpreter written in Java to allow easy integration between the two languages.
   ¤  Apr 2000. Free software under the terms of the GNU General Public License.
Home site: http://www.exa.unicen.edu.ar/~azunino/


External resources:

External website Javasoft
The main Java website at Sun, providing the latest development kits, reference manuals and online tutorial material.
External website Gamelan
Another major site for Java-related resources.
External website Programming Languages for the Java Virtual Machine
A list of available compilers for languages other than Java that target the JVM.
External website Java resources
The Java section of the World-Wide Web Virtual Library.
External website JavaScript documentation
Available from Netscape, the original creators of JavaScript.
External website JavaScript index
A selection of useful JavaScript links.
External website Java links at Yahoo
These are also available at Yahoo UK.
External website JavaScript links at Yahoo
These are also available at Yahoo UK.
External website Cetus Object-Orientation Links
A huge collection of object-oriented links.
External website The OO Soapbox
A wide-ranging collection of information about object-oriented programming.
External website The comp.lang.java newsgroup
A newsgroup for discussions of Java-related issues.
External website The comp.lang.javascript newsgroup
A newsgroup for discussions of JavaScript-related issues.
External website The comp.object newsgroup
A newsgroup for discussions of general object-oriented programming.


BURKS version 6 · Copyright © John English 1996-2001. All rights reserved.