HP3000-L Archives

March 1996, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Reply To:
Date:
Sun, 24 Mar 1996 15:38:54 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (112 lines)
Item Subject: Re: Java-supported access via intrinsics to TurboIMAGE info
This time we have a book and a piece of software.  First the book:
 
Java in a Nutshell
A Desktop Quick Reference for Java Programmers
David Flanagan / O'Reilly & Associates (C)1996
ISBN 1-56592-183-6 / 438pp / $19.95
 
and now the software:
 
Symantec Cafe
Visual Java Development and Debugging Tools
Win 95/NT / Version 1.0 / $139.00
 
Java in a Nutshell is exactly the book I wanted to read on Java.  It
consists of a number of introductory chapters that describe the language
in comparison to C and C++, with lots of good examples (that you can
download in electronic form from the O'Reilly web site too), and a
complete quick reference to the language and all the standard class
libraries.
 
If you're the sort of person who likes to learn things like new
programming languages by picking up a reference manual and reading it,
then this may be the only book on Java you ever need to buy.  After
reading through the book and playing with the examples using Cafe, I now
feel very comfortable with the language.
 
Cafe from Symantec is a complete Integrated Development Environment for
Java which runs under Windows 95/NT (Macintosh version Real Soon Now),
and makes Java much more accessible by providing a very easy-to-use
environment that includes complete editing, project/make, and graphical
debugging facilities, along with a graphical user interface design tool
that lets you design forms that include all the Java Abstract Windowing
Toolkit elements, and it generates the Java code and declarations for
them automatically.
 
Using Cafe to learn and develop Java is so much easier than using the
command line oriented tools in Sun's Java Developer's Toolkit.  The
price is right, and includes a one year subscription that will let you
download new versions directly from Symantec's web site as they become
available.  You can even purchase and download Cafe through the Symantec
web site.
 
The following are my comments on Java after playing with it seriously
for about a week now.
 
I've been following Java since Sun introduced it.  I'd read the
whitepapers and other documentation available from Sun, but hadn't been
super impressed with what I'd seen so far.  I've been working with the
Python language lately, and Java seemed like it was a step backwards
from Python.  In my mind I had summarised Java as just a "kinder,
gentler" C++, but not really revolutionary.
 
I feel quite differently now after reading the Java in a Nutshell book
and actually playing with the language for a while.  I think Java is a
tremendously important language that we are all going to be working with
(either directly or indirectly) over the coming years.  Its importance
comes from the near universal adoption by all of the web browser makers,
but more importantly Java is a *good* language.  The resemblance between
Java and C++ turns out to be very limited.  Where C++ has some of the
most obscure and opaque syntax and features ever imagined, Java throws
all of this away in the name of simplicity and robustness.
 
First off, Java has no "pointers" and dynamic memory allocation and
deallocation are handled for you automatically.  Because Java is
designed to be a good language for things like "web applets" that have
to run in a secure environment and can't be allowed to muck with memory
directly, it is impossible to write a program that corrupts memory,
dereferences a pointer as the wrong type, etc.  This also makes Java a
good language to write *any* kind of application in, as these problems
which make C++ almost impossible for mere mortals to use are all
eliminated in Java.  Java is also a true object-oriented language.
 
Java is truly portable.  It's source code can be compiled on any system
that has a Java compiler, and the resulting "object code" can be
executed on any system that supports the Java runtime system.  It
includes a complete set of class libraries that abstract not only the
usual set of operating system primitives, but also networking and a
complete GUI environment (the Abstract Windowing Toolkit).
 
Java can be fast.  While Java is like most 'new' languages (Python,
Perl, Smalltalk, etc.) in that its "object code" is a byte code stream
that is "interpreted" on the target system, Java is also designed to be
able to be compiled all the way to machine code on the target system as
well.  In the case of web applets and other downloaded code this is
referred to as "Just In Time" compiling.  The developer writes Java
source which he compiles into Java byte code object code which is
downloaded to the user's system.  Today the Java Virtual Machine
interpreter is used to execute that code, but Sun and others are working
to provide compilers that will be able to quickly translate the Java
byte code into real machine code for whatever platform the user is on.
Sun claims that this will provide for execution times that are virtually
the same as native C++ programs.
 
Java's GUI programming environment is the first one that I have found
that I feel I can easily grasp all of the concepts of easily in my head.
The simplicity and elegance of the Java language, coupled with a class
library that is manageable in its complexity and friendly to use is in
stark contrast to the horrors of C++ and something like the Microsoft
Foundation Classes.  While Microsoft does not particularly like Java and
hopes to eclipse it with their own browsers and "ActiveX(tm)" stuff, I
think Java has so many advantages that it is going to become and remain
the dominant language for web applet type applications.  Additionally, I
think that Java is going to "break out" and become a main stream
programming language to rival C++ and other languages (COBOL even) as a
general purpose tool.
 
Anyhow, I feel that I just can't say too many good things about Java
right now.  I encourage everyone to take a closer look at it.
 
G.

ATOM RSS1 RSS2