Skip to content

Marcono1234/HotJava-1.0-alpha

Repository files navigation

HotJava 1.0 alpha

This repository contains the files of HotJava 1.0 alpha, the predecessor of the Java programming language.

Contained are:

Source

History & background

In 1991 a small team of Sun Microsystems employees, known as the "Green Team", was chartered to plan for the "next wave" in computing. By the summer of 1992 they had created a working demo of an interactive, handheld home-entertainment device controller. The programming language for this device was written by James Gosling and had the name "Oak". However, the team was unable to convince the TV set-top box and video-on-demand industry with their new device. But they noticed that due to the capabilities of the programming language, it was also well suited for the Internet which greatly grew in popularity at that time. Therefore they created a webbrowser based on their new programming language similar to the then popular Mosaic browser and called it "WebRunner" (later named "HotJava"). The first publicly released alpha version was HotJava 1.0a2.

Source


Based on this information and the changelog of 1.0a2, 1.0a2 is the first version after the "Oak" → "Java" name change.

1.0a2 and 1.0a3 appear to be the only Java versions which produce class files of version major 45, minor 2. These class files are incompatible with any newer class files, starting with major 45, minor 3 (version 1.0b1?); read more here and see the VM spec.

Back then the meaning of the field access flag 0x40 was reversed, instead of being "volatile" it was "threadsafe" (= can cache in registers), see VM spec.

The HotJava specific classes (networking, applets, browser interaction) were not in the java package back then, but had their own top level packages, see package index.

The files in this repository come from here. There are for sure more interesting files there, though sadly not all have been archived. Other old Java files can be found here. Also quite interesting is this mention of Oak / Java where the former Sun employee Jonathan Payne, who worked on Java, responded.

HotJava issues

The HotJava versions are provided in the state in which they were archived1. It is (at least currently) not the goal of this repository to fix issues in the HotJava source code or documentation.

1: Extracting the archives and storing their content with Git might have introduced some changes.

License

These files are published based on the license included in the HotJava releases and copied as License.html, which states (excerpt):

Sun grants to you ("Licensee") a non-exclusive license to use the Software for academic, research and internal business purposes only, without fee. Licensee may distribute the binary and source code to third parties provided that the copyright notice and this statement appears on all copies and that no charge is associated with such copies. Licensee agrees that the copyright notice and this statement will appear on all copies of the Software, or portions thereof. Sun retains exclusive ownership of the software.

Disclaimer

This repository is neither officially affiliated with the Java programming language nor with Oracle or the OpenJDK team.