{"id":1860,"date":"2013-04-14T20:05:23","date_gmt":"2013-04-14T18:05:23","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=1860"},"modified":"2013-04-14T20:05:23","modified_gmt":"2013-04-14T18:05:23","slug":"buchkritik-wicked-cool-java-code-bits-open-source-libraries-and-project-ideas","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2013\/04\/buchkritik-wicked-cool-java-code-bits-open-source-libraries-and-project-ideas\/","title":{"rendered":"Buchkritik: Wicked Cool Java: Code Bits, Open-Source Libraries, and Project Ideas"},"content":{"rendered":"<p>Brian Eubanks; ISBN-10: 1593270615; No Starch Press; 15.11.2005; 248 Seiten   <br \/>Mit dem Buch hat Brian eigentlich das gemacht, was sich jeder Autor w\u00fcnscht: sich hinzusetzen und einfach mal im Artikelstil \u00fcber alles zu schreiben, was einem interessiert, ohne darauf zu achten, ob das n\u00fctzlich oder wichtig ist. Daf\u00fcr nimmt er sich 8 Kapitel Zeit:    <br \/>Chapter 1: Java Language and Core API, Chapter 2: String Utilities, Chapter 3: Processing XML and HTML, Chapter 4: Crawling the Semantic Web, Chapter 5: Math and Science, Chapter 6: Graphics and Data Visualization, Chapter 7: Multimedia and Sychronization, Chapter 8: Fun, Integration and Project Ideas. Im Grunde ist nur das erste Kapitel ein kleines Einstiegskapitel, insbesondere in die Neuerungen von Java 5, und zusammen mit dem zweiten Kapitel haben sie die Java SE selbst zum Inhalt. Das Niveau ist an Anfang niedrig und passt nicht zum Rest. Syntaktisch ist nicht immer alles sauber, so gibt es immer wieder umst\u00e4ndliche Feldinitialisierungen wie int[] theList = new int[]{2,3,5,7}; oder java.util.Random random = new Random(); wo ich mich Frage, ob der Autor dort gerade wach war. Dann wird assert geklammert wie eine Methodenaufruf, das ist aber nur in C so, nicht in Java, wo assert ein Schl\u00fcsselwort ist und der Ausdruck nicht geklammert wird. (Macht Kr\u00fcger im Buch aber leider auch so.) Leider sind auch nicht alle Beispiele konsequent auf Java 5 ausgelegt, immer wieder findet sich der Raw-Type etwa von Datenstrukturen, bei seinen verketten Listen-Implementierung oder mit verketteten Knoten wiederum fehlt ein Generic, hier steht nur Object content. An anderer Stelle im Buch gibt es den Hinweis, das ein Listing mit Generics auf der Buchseite (<a href=\"http:\/\/www.wickedcooljava.com\/)\">http:\/\/www.wickedcooljava.com\/)<\/a> ist, warum nicht gleich im Code? Mit Generics scheint Brian auch noch nicht so vertraut zu sein, anders kann ich mir nicht erkl\u00e4ren, warum er eine Methode removeMatches(List&lt;Number&gt; aList) schreibt, denn man muss verstehen, da man so etwas nicht zum Beispiel mit einer List&lt;Double&gt; aufrufen kann; eleganter w\u00e4re ein Typ-Bound er Art List&lt;? extends Number&gt; hin. Weiter: Statt StringBuilder kommt noch StringBuffer zum Einsatz. Nicht gut gef\u00e4llt mir auch der Bezug auf konkrete Klasse, statt Basistypen, etwa bei ArrayList&lt;String&gt; getNames(), hier w\u00fcrde als R\u00fcckgabe auch List oder Collection reichen. (In dem gleichen Beispiel ist auch ungl\u00fccklich den Scanner auch nicht im finally zu schlie\u00dfen. Und getFloat() statt getDouble() zu nehmen ist auch Geschmackssache.) Bei den Farben verwendet der Autor noch die klein geschriebenen Namen also Color.blue statt Color.BLUE. Sehr geschw\u00e4tzig ist auch if ( \u2026 ) { return true; } else { return false; } &#8212; das ist uncool.    <br \/>Im Mittelpunkt des Buches geht es um wilde Open-Source Bibliotheken, etwa f\u00fcr mathematische Operationen, Textanalyse, Suche (nicht wild), semantische Netze, RDF, MIDI-Sounds. Eigentlich nichts, was man wirklich\/dringend\/oft br\u00e4uchte, und wenn, w\u00fcrde man vermutlich in ein spezielles Buch schauen. Positiv ist anzumerken, dass uns der Autor die Libs vorstellt und des Lesers Horizont erweitert. Ein Probekapitel gibt es nicht online, allerdings unter <a href=\"http:\/\/www.wickedcooljava.com\/related.jsp\">http:\/\/www.wickedcooljava.com\/related.jsp<\/a> eine Linkliste der Bibliotheken. April 2013<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Brian Eubanks; ISBN-10: 1593270615; No Starch Press; 15.11.2005; 248 Seiten Mit dem Buch hat Brian eigentlich das gemacht, was sich jeder Autor w\u00fcnscht: sich hinzusetzen und einfach mal im Artikelstil \u00fcber alles zu schreiben, was einem interessiert, ohne darauf zu achten, ob das n\u00fctzlich oder wichtig ist. Daf\u00fcr nimmt er sich 8 Kapitel Zeit: Chapter [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[6],"tags":[],"class_list":["post-1860","post","type-post","status-publish","format-standard","hentry","category-rezension"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1860","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=1860"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1860\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=1860"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=1860"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=1860"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}