This course introduces you to the Java programming language. It shows you how to build Java programs, which can be run as stand-alone applications or as applets embedded in web pages. The course also explains object-oriented programming principles and shows you how to use the Java 2 Software Development Kit (SDK) along with the Java Application Programming Interface (API).
Throughout the course, you will practice your Java skills by coding simple Java applications. These applications utilize many of the major Java programming topics covered in the course. At the end of the course you will also code a simple Java applet.
In 1991, a group led by James Gosling and Patrick Naughton at Sun Microsystems designed a programming language that they code-named
Green for use in consumer devices, such as intelligent television
set-top boxes.
The language was designed to be simple and architecture neutral, so that it could be executed on a variety of hardware. No customer was ever found for this technology.
Java was originally designed for programming consumer devices, but it was first successfully used to write Internet applets. Gosling recounts that in 1994 the team realized,
We could write a really cool browser. It was one of the few things in the client/server mainstream that needed some of the weird things we would ahve done: architecture neutral, real-time, reliable, secure.
Java was introduced to an enthusiastic crowd at the SunWorld exhibition in 1995. Since then, Java has grown at a phenomenal rate. Programmers have embraced the language because it is simpler than its closest rival, C++.
In addition, Java has a rich library that makes it possible to write portable programs that can bypass proprietary operating systems, a feature that was eagerly sought by those who wanted to be independent of those proprietary systems
and was bitterly fought by their vendors. A
micro edition and an
enterprise edition of the Java library make Java programmers at home on hardware ranging from smart cards and cell phones to the largest Internet
servers.