epubjs
Version:
Render ePub documents in the browser, across many devices
108 lines (107 loc) • 10.8 kB
HTML
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Enter Java</title><link rel="stylesheet" href="core.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"/></head><body><div class="sect1" title="Enter Java"><div class="titlepage"><div><div><h1 class="title"><a id="learnjava3-CHP-1-SECT-1"/>Enter Java</h1></div></div></div><p><a id="I_indexterm1_id632350" class="indexterm"/> <a id="I_indexterm1_id632356" class="indexterm"/> <a id="I_indexterm1_id632363" class="indexterm"/>The Java programming language, developed at Sun Microsystems
under the guidance of Net luminaries James Gosling and Bill Joy, was
designed to be a machine-independent programming language that is both
safe enough to traverse networks and powerful enough to replace native
executable code. Java addresses the issues raised here and played a
starring role in the growth of the Internet, leading to where we are
today.</p><p><a id="I_indexterm1_id632374" class="indexterm"/>Initially, most of the enthusiasm for Java centered on its
capabilities for building embedded applications for the Web called
<a id="I_indexterm1_id632384" class="indexterm"/><span class="emphasis"><em>applets</em></span>. But in the early days, applets
and other client-side GUI applications written in Java were limited.
Today, Java has Swing, one of the most sophisticated toolkits for building
graphical user interfaces (GUIs) in any language. This development has
allowed Java to become a popular platform for developing traditional
client-side application software.</p><p><a id="I_indexterm1_id632396" class="indexterm"/>Of even more importance, however, Java has become the
premier platform for web-based applications and web services. These
applications use technologies including the Java Servlet API, Java web
services, and many popular open source and commercial Java application
servers and frameworks. Java’s portability and speed make it the platform
of choice for modern business applications. Java servers running on open
source Linux platforms are at the heart of the business and financial
world today.</p><p>This book will show you how to use Java to accomplish real-world
programming tasks. In the coming chapters we’ll cover everything from text
processing to networking, building rich client-side GUI applications with
Swing and lightweight web-based applications and services.</p><div class="sect2" title="Java’s Origins"><div class="titlepage"><div><div><h2 class="title"><a id="learnjava3-CHP-1-SECT-1.1"/>Java’s Origins</h2></div></div></div><p><a id="I_indexterm1_id632426" class="indexterm"/> <a id="idx10024" class="indexterm"/> <a id="I_indexterm1_id632442" class="indexterm"/>The seeds of Java were planted in 1990 by Sun Microsystems
patriarch and chief researcher Bill Joy. At the time, Sun was competing
in a relatively small workstation market while Microsoft was beginning
its domination of the more mainstream, Intel-based PC world. When Sun
missed the boat on the PC revolution, Joy retreated to Aspen, Colorado,
to work on advanced research. He was committed to the idea of
accomplishing complex tasks with simple software and founded the aptly
named Sun Aspen Smallworks.</p><p><a id="I_indexterm1_id632460" class="indexterm"/> <a id="I_indexterm1_id632466" class="indexterm"/> <a id="idx10026" class="indexterm"/> <a id="I_indexterm1_id632483" class="indexterm"/> <a id="I_indexterm1_id632489" class="indexterm"/>Of the original members of the small team of programmers
assembled in Aspen, James Gosling will be remembered as the father of
Java. Gosling first made a name for himself in the early 80s as the
author of Gosling Emacs, the first version of the popular Emacs editor
that was written in C and ran under Unix. Gosling Emacs became popular
but was soon eclipsed by a free version, GNU Emacs, written by Emacs’s
original designer. By that time, Gosling had moved on to design Sun’s
NeWS, which briefly contended with the X Window System for control of
the Unix GUI desktop in 1987. Although some people would argue that NeWS
was superior to X, NeWS lost because Sun kept it proprietary and didn’t publish source code
while the primary developers of X formed the X Consortium and took the
opposite approach.</p><p><a id="I_indexterm1_id632516" class="indexterm"/>Designing NeWS taught Gosling the power of integrating an
expressive language with a network-aware windowing GUI. It also taught
Sun that the Internet programming community will ultimately refuse to
accept proprietary standards, no matter how good they may be. The seeds
of Java’s licensing scheme and open (if not quite “open source”) code
were sown by NeWS’s failure. Gosling brought what he had learned to Bill
Joy’s nascent Aspen project. In 1992, work on the project led to the
founding of the Sun subsidiary FirstPerson, Inc. Its mission was to lead
Sun into the world of consumer electronics.<a id="I_indexterm1_id632533" class="indexterm"/></p><p>The FirstPerson team worked on developing software for information
appliances, such as cellular phones and personal digital assistants
(PDAs). The goal was to enable the transfer of information and real-time
applications over cheap infrared and traditional packet-based networks.
Memory and bandwidth limitations dictated small, efficient code. The
nature of the applications also demanded they be safe and robust.
Gosling and his teammates began programming in C++, but they soon found
themselves confounded by a language that was too complex, unwieldy, and
insecure for the task. They decided to start from scratch, and Gosling
began working on something he dubbed “C++ minus minus.”</p><p><a id="I_indexterm1_id632561" class="indexterm"/>With the foundering of the Apple Newton (Apple’s earliest
handheld computer), it became apparent that the PDA’s ship had not yet
come in, so Sun shifted FirstPerson’s efforts to interactive <a id="I_indexterm1_id632571" class="indexterm"/><a id="I_indexterm1_id632576" class="indexterm"/>TV (ITV). The programming language of choice for ITV
set-top boxes was to be the near ancestor of Java, a language called
Oak. Even with its elegance and ability to provide safe interactivity,
Oak could not salvage the lost cause of ITV at that time. Customers
didn’t want it, and Sun soon abandoned the concept.</p><p>At that time, Joy and Gosling got together to decide on a new
strategy for their innovative language. It was 1993, and the explosion
of interest in the Web presented a new opportunity. Oak was small, safe,
architecture-independent, and object-oriented. As it happens, these are also some of the
requirements for a universal, Internet-savvy programming language. Sun
quickly changed focus, and, with a little retooling, Oak became
Java.<a id="I_indexterm1_id632600" class="indexterm"/></p></div><div class="sect2" title="Growing Up"><div class="titlepage"><div><div><h2 class="title"><a id="learnjava3-CHP-1-SECT-1.2"/>Growing Up</h2></div></div></div><p><a id="idx10013" class="indexterm"/> <a id="idx10018" class="indexterm"/>It would not be overstating it to say that Java caught on
like wildfire. Even before its first official release when Java was
still a nonproduct, nearly every major industry player had jumped on the
Java bandwagon. Java licensees included Microsoft, Intel, IBM, and
virtually all major hardware and software vendors. However, even with
all this support Java took a lot of knocks and experienced some growing
pains during its first few years.</p><p><a id="I_indexterm1_id632642" class="indexterm"/> <a id="I_indexterm1_id632648" class="indexterm"/>A series of breach of contract and antitrust lawsuits
between Sun and Microsoft over the distribution of Java and its use in
Internet Explorer hampered its deployment on the world’s most common
desktop operating system—Windows. Microsoft’s involvement with Java also
become one focus of a larger federal lawsuit over serious
anticompetitive practices at the company, with court testimony revealing
concerted efforts by the software giant to undermine Java by introducing
incompatibilities in its version of the language. Meanwhile, Microsoft
introduced its own Java-derived language called C# (C-sharp) as part of
its .NET initiative and dropped Java from inclusion in Windows. C# has
gone on to become a very good language in its own right, enjoying more
innovation in recent years than has Java.</p><p><a id="I_indexterm1_id632664" class="indexterm"/> <a id="I_indexterm1_id632671" class="indexterm"/> <a id="I_indexterm1_id632677" class="indexterm"/> <a id="I_indexterm1_id632683" class="indexterm"/> <a id="I_indexterm1_id632690" class="indexterm"/> <a id="I_indexterm1_id632696" class="indexterm"/>But Java continues to spread on a wide variety of
platforms. As we begin looking at the Java architecture, you’ll see that
much of what is exciting about Java comes from the self-contained,
virtual machine environment in which Java applications run. Java was
carefully designed so that this supporting architecture can be
implemented either in software, for existing computer platforms, or in
customized hardware. Hardware implementations of Java are used in some
smart cards and other embedded systems. You can even buy “wearable”
devices, such as rings and dog tags, that have Java interpreters
embedded in them. Software implementations of Java are available for all
modern computer platforms down to portable computing devices. Today, an
offshoot of the Java platform is the basis for Google’s Android
operating system that powers billions of phones and other mobile
devices.</p><p>In 2010, Oracle corporation bought Sun Microsystems and became the
steward of the Java language. In a somewhat rocky start to its tenure,
Oracle sued Google over its use of the Java language in Android and
lost. In July of 2011, Oracle released Java SE 7, a significant Java
release.<a id="I_indexterm1_id632726" class="indexterm"/><a id="I_indexterm1_id632733" class="indexterm"/></p></div></div></body></html>