The Art of Java (英語) ペーパーバック – 2003/7/31
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
There is something for every programmer in this book, which presents a number of practical, high-powered applications of Java. Included are pure code subsystems such as the expression parser, which readers will adapt for use in their own programs, financial calculations and statistics programs that feature ready-for-use applets/servlets, interpreter or the AI-based search engine, and much more.
I was expected examples with good coding styles, none of this code would be even close to passing a peer review at my company. I guess it is good for someone looking for full practical examples of some Java projects, but for the most part the book is just a bunch of not very well written code with some not very interesting commentary.
Other people have already commented on the specific deficiencies of the code examples, including misuse of Swing and lack of Java 5 features such as generics.
If you are looking for how the code would be written in a modern development shop, go to JavaRanch. I would not recommend buying this book unless you don't know how to search the web for code snippets.
As far as art, this book is like a bad spatter painting. "Effective Java" does a much better job of exploring the "art" of Java.
My only complaints are:
1. the book hasn't been updated to Java SE 5 yet.
2. the use of Swing by the author is incorrect in my opinion. I think there's a few times the author doesn't handle the event dispatch thread correctly. This could send people off in the wrong direction with Swing.
3. the coding style doesn't exactly match the Java Style Guide published by Sun. Some people might like this, but I think it's a problem with many books.
4. The code in the book is not syntax highlighted. Most editors do this quite effectively and I think more books should start doing it.
Thought folks might like to know this is still available.
I think this book is great! Yes, the code is creaky. It was written pre-Java 1.5. Given the lack of a fresher edition, what do you expect from 2003? (Yes, conformity to Sun style or a typesetting that emphasized keywords would be nice. But the code is still well organized and perfectly readable.)
I just popped the "MiniBrowser" into Eclipse and it runs! Clunky, you bet. Has trouble with certain image formats, can't handle .mp3 links. But it runs, and it serves the PURPOSE of giving one a basic intro to how web browsers work.
I took a few CS courses at college but am mostly DIY self-educated. I assume a lot of the functionality in this book is covered at the college level (e.g., parsers, interpreters). Nice to have these sorts of things laid out with decent explanations, so that an intermediate Java programmer can learn the basic principles of this functionality.
The only thing that I can figure is that because this book does not target a particular audience - say those interested in enterprise applications for example - that it never really sold well. It is true, Mr. Schildt is all over the map in his applications - with such varied subjects as a recursive descent parser and also a language interpreter from programming language theory, from the world of web applications a download manager and also a web crawler, and from the world of artificial intelligence a problem solver. To me, though, that is part of this book's appeal. However, if you did not have an academic computer science background I can see how you might not be interested in the programming language and AI parts of the book.
I highly recommend this book for anyone who wants to become a better Java programmer and does not mind spending some time looking at applications that might not be of immediate need to them. Especially if you have an academic computer science background and already know something about programming language theory and artificial intelligence, this book should be very interesting and very helpful.