O''''Reilly Network For Information About''''s Book part 5 - Pdf 17


2.3. Clouds Open
The sound and fury of the Java storm caught many of us off-guard. And why not?
It came from an unlikely source, was delivered in an unconventional vehicle, and
defied conventional wisdom regarding performance of interpreted languages. Other
than the language, nothing about Java was conventional at all, including the size of
the explosion. In retrospect, you can look back and see just how well it filled a
void. Figure 2-3
shows the many ingredients that come together to form the perfect
storm.
Figure 2-3. Many forces formed the combined ingredients that led to a perfect
storm

2.3.1. New Economics
The jet stream that powered this storm emerged from a series of standards: TCP/IP,
HTTP, URI, and HTML. The Internet gathered steam, and Sun took full advantage
with Java. The Internet was everywhere. Java was cool. The Java developers
quickly built the API set that would allow developers to code for the Internet,
including TCP/IP APIs for communication, and applets for building user interfaces
that you could embed in a browser. JDBC allowed database access.
The perfect combination formed by the relationship between Netscape Navigator
and Java drove each company to new heights. Through Netscape, Sun was able to
put Java in front of an incredible number of developers, nearly instantaneously.
Through Java, Netscape could showcase smart applications that looked cool, and
were simultaneously practical. The Navigator/Java combination seemingly solved
the most critical problems of client-server computing: management and
distribution. If you could install a browser, you could then automatically distribute
any application that you wanted through the browser. Java had the perfect

libraries.
 Java cleaned up problems like nested include files and macros.
2.3.3. Architecture
The benefits of Java went beyond economics and C++. I can still vaguely
remember the first sentence that I saw describing Java. Sun said it was a portable,
safe, secure, object-oriented, distributed programming language for the Internet.
Those words were all buzzwords of the time. For C++ developers, Java
underpinnings made significant strides:
 The JVM allowed unprecedented portability. Many experts believe that the
JVM, and not the language, is the most important feature of Java. Sun
marketed this capability brilliantly with the acronym WORA. Java
developers the world over recognize those letters as standing for Write
Once, Run Anywhere.
 Java published the byte code specification for the JVM. People who want to
build their own JVM or build a language on the existing JVM standard can
do so, or even modify byte codes of existing applications. Frameworks like
JDO do modify byte code with great success.
 While C++ allowed unrestricted access to application memory, Java
restricted access to one area of the JVM called the sandbox
. Even today, you
see very few exploitations of Java security.
 The Java metamodel, made up of the class objects that describe types in
Java, allowed sophisticated reflective programming. Though it's a little
awkward, the capabilities of Java extend far beyond the basic capabilities of
C++. The Java metamodel enables frameworks that increase transparency,
like Hibernate (persistence) and Spring (services such as remoting and
transactions).
 The fathers of Java saw the importance of security, and baked it into the
language. Java introduced a generation of programmers to the term sandbox
, which limited the scope and destructive power of applications.

best-selling authors of Apple operating system books.
What do you like
best about Java?
JDD: At the time, it seemed like a really good
idea. Mostly, for what Java was designed for,
they got it right. Of course, it's a strongly
typed language, which for some purposes is
great, and other purposes not.
Why do you think
it's so successful?
JDD: I think it comes down to the fact that
server-side programming in Perl and the like
was inefficient, and server-side programming
in C and C++ was hard. Java, and servlets in
particular, busted open a door for Java where
it could really take root.
I may be biased because of my involvement
with servlets, but Java without the server side
wasn't that interesting. It still isn't. Sure,
J2ME is on bazillions of mobile devices, but
there aren't that many apps thereand the APIs
there are limited unless you actually make the
cell phone.
What don't you
like?
JDD: Strong typing. Reliance on APIs rather
than frameworks. That's a subtle but
important distinction. The increasing
complexity of even basic APIs. For example,
you can't just write a servlet anymore, you

loosely joined. There is no one übersolution,
and at the end of the day, if you can take two
tools and pipe stuff between them, you have a
more powerful and flexible solution than any
monolithic beast. And one in which users can
discover uses far more powerful than you can
imagine.
What emerging
alternatives make
sense to you, if
any?
JDD: Ruby on Rails has picked up an
amazing amount of traction for server-side
stuff. If you need to slush around mass
amounts of content, there are content
databases (like MarkLogic) that are
interesting that use XQuery to work with the
stuff inside. On the GUI front, well, Java
wasn't a contender, so everything is already
an alternative.
What would
prompt (or did
prompt) you to
move away from
Java, or .NET?
JDD: I shifted focus into the GUI application
space. Java and GUIs don't mix. Friends don't
let friends Swing.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status