published in UNIX Info - nov. 96
© 1996 - Adriaan van Roeden - a3@n-vision.nl

Java Boekrecensies

Java in a Nutshell
The Java source book
The Java Tutorial

Sinds het verschijnen van versie 1.0 van de Java Developer's Kit (JDK), is de status van Java redelijk stabiel geworden. Dit is ook te merken aan het enorme aantal Java boeken die sinsdien zijn verschenen. Het is immers zonde een boek uit te geven, als door nieuwe ontwikkelingen zou blijken dat de inhoud alweer sterk verouderd is en de koper het boek wel bij het oud papier kan gooien.

Sun heeft echter beloofd dat alle nieuwe versies van de JDK (inmiddels alweer 1.02) backwards compatible zullen zijn met versie 1.0, hetgeen kennelijk voldoende vertrouwen heeft geschapen bij de diverse uitgevers om snel met Java boeken op de proppen te komen (in Nederland zijn er helaas nog niet zoveel te koop).

Het aardige is nu, dat Sun zelf wat minder haast heeft en een van de boeken uit 'The Java Book Series' die ze via Addison Wesley zullen gaan uitgeven, gewoon online beschikbaar stelt. Het gaat hier om de 'The Java Tutorial', een 'draft' versie van het deze zomer te verschijnen boek, wat door de beide auteurs Mary Campione en Kathy Walrath nog regelmatig wordt bijgeschaafd. Deze versie heeft inmiddels de vijfde revisie achter de rug en is ondanks de waarschuwingen van de auteurs voor bugs, onvolledigheid en onjuiste links, prima te gebruiken als Java 'lesboek'.

De tutorial is in Postscript- en HTML-formaat beschikbaar en is onderverdeeld in vijf delen: In 'Writing Java Programs' wordt zeer uitgebreid ingegaan op de basiskenmerken van Java, zoals de elementen van de Java programmeertaal, Object Orientatie, interactie met het systeem, threads (multitasking) en exceptions (foutafhandeling).

'Writing Applets' behandelt wat nodig is om van een Java programma een applet te maken en wat de verschillen zijn met 'gewone' Java programma's.

'Creating a User Interface' gaat in op de Advanced Window Toolkit (AWT), de GUI van Java. Aan bod komen onderwerpen als het toevoegen van GUI componenten aan uw applicatie en de verschillende Lay-out managers die hierbij gebruikt kunnen worden, maar ook zaken als het afbeelden en manipuleren van plaatjes en het programmeren van animaties komen aan de orde.

'Custom Networking and Security' is een beschrijving van de netwerkmogelijkheden die in Java zijn ingebouwd, waarbij dus ook aandacht wordt besteed aan security, een onderwerp waar in dit verband al het nodige over te doen is geweest.

'Integrating Native Methods into Java Programs' tenslotte, gaat over het opnemen van in andere talen geschreven routines in een Java programma. De enige taal die trouwens op dit moment ondersteund wordt is C, ook de programmeer-interface waarmee e.e.a. gerealiseerd kan worden is nog niet helemaal uitgekristalliseerd. Als u desondanks de behoefte heeft hiermee aan de slag te gaan, verdient het aanbeveling de Java Soft site in de gaten te houden.

Voor alle delen geldt dat de materie goed is geschreven en er veel illustraties en voorbeeldprogramma's worden gebruikt. Ook qua structuur zit de tutorial goed in elkaar; meestal begint men met een kort 'snel-aan-de-slag' gedeelte, waarna de diverse nieuwe elementen in een sub-tutorial worden uitgelegd.

Wat deze tutorial natuurlijk een uniek voordeel geeft boven een boek, is de naadloze integratie van de voorbeelden met de tekst. Wordt er ergens een bepaalde applet beschreven, dan kan men deze ook meteen aan het werk zien in de browser, hetgeen de zaak wel zo duidelijk maakt. Alle voorbeelden zijn namelijk meegeleverd in een source-versie en een gecompileerde versie (als .class file) en kunnen dus meteen worden gebruikt. De voorbeeldprogramma's zijn trouwens van goede kwaliteit en kunnen prima gebruikt worden als raamwerk voor uw eigen applicaties.

Als we deze tutorial gaan vergelijken met 'The Java Sourcebook' dan kunnen we eigenlijk niet anders dan constateren dat de tutorial completer is (over de netwerkmogelijkheden van Java geen woord in the Java Sourcebook) en beter aan zijn doel voldoet, nml. het leren van de Java programmeertaal.

Wel het vermelden waard, is de behandeling van Object Orientatie als concept en de aandacht die de auteur geeft aan de grafische mogelijkheden van Java. De source code van de voorbeelden in dit boek kunt u trouwens ophalen bij de Web site van Wiley & Sons, de uitgever van het boek.

Van een geheel andere categorie is 'Java in a Nutshell'. Net als zijn Unix tegenhanger 'Unix in a Nutshell' is dit boek bedoeld als een goedkoop maar volledig naslagwerk, waar zoveel mogelijk nuttige informatie in is verwerkt. Desalniettemin zijn de eerste negen van de 33 hoofdstukken gewijd aan het programmeren met Java. Alle facetten van Java komen aan bod, zij het vrij summier qua uitleg. De voorbeelden moeten kennelijk voor zichzelf spreken. (Ook van de voorbeelden in dit boek zijn de sources op te halen bij de Web site van de uitgever).

Als leerboek dus minder geschikt, maar als naslagwerk eigenlijk onmisbaar. O' Reilly is er weer in geslaagd een boek uit te brengen dat niet gauw van de zijde van de lezer zal wijken. Het bevat een volledige opsomming van de Java syntax, alle API-calls, en een API cross reference, waarmee bijvoorbeeld makkelijk is op te zoeken welke functie (method) bij welke class hoort, of welke class bij welk package hoort. Voeg hierbij de summiere maar volledige programmeercursus, de bruikbare voorbeeldprogramma's en de lage prijs, en het zal duidelijk zijn dat dit boek tot de standaarduitrusting van elke Java-programmeur behoort.

Wilt u dus aan de slag met Java, dan is 'Java in a Nutshell' gezien de grote omvang van de Java API, zeker aan te bevelen als naslagwerk. Voor meer uitleg en begeleiding bij het leren van Java, is Sun's Java Tutorial ondanks de 'beta' status, zeer de moeite van het downloaden waard.

Misschien zijn er boeken op de markt die completer zijn en de materie beter kunnen overbrengen (wat valt te betwijfelen), maar ze zullen in ieder geval duurder zijn; de Tutorial is namelijk gratis.


David Flanagan: Java in a Nutshell
http://www.ora.com/info/java/
O' Reilly & Associates Inc.
438 pagina's, paperback
ISBN: 1-56592-183-6
f 39,- $14.95

Ed Anuff: The Java Sourcebook:
http://www.wiley.com/compbooks/javasrbk/javahome.html
John Wiley & Sons, Inc.
498 pagina's, paperback
ISBN: 0-471-14859-8
f69,- $29.95

Mary Campione en Kathy Walrath: The Java Tutorial
http://www.javasoft.com/tutorial/index.html

Java documentatie:
http://www.javasoft.com/newdocs.html

Adriaan van Roeden - a3@n-vision.nl