List price: $49.99 (that's 30% off!)
Used price: $24.93
Buy one from zShops for: $32.00
If you are looking for a book to act as a Java tutorial to networking, this is not the book for you. It is very comprehensive in some areas, and much more than many people are willing to spend in getting through sections of this book. However, if you are looking for a little more general purpose Java networking Bible, then this book might be more suited for you.
List price: $25.00 (that's 30% off!)
Used price: $9.97
Buy one from zShops for: $11.99
It's more of an unctious eulogy about people at Do-Co-Mo and the enterprise itself.
What we learn: Keichi Tachikawa had a keen sense of inequality, former Chairman Ohkochi is impatient, impatient etc., Keichi Enoki seems to be the lucky guy.
This is a latter day celebration of a Japanese enterprise. The rendering of the story could have been influenced heavily by the style of a communist storyteller, writing a biography of communist saint Breshnew or marshal Shukow.
Few facts. Tons of incense. Sprinklings of modern management thought.
Not devoid of facts, but these are incoherently interspersed into a rambling storytelling about all and everything.
This book did waste my time and continuous factless ramblings made me feel angry at times.
List price: $50.00 (that's 30% off!)
Used price: $9.60
Buy one from zShops for: $19.98
But then after one page, the book leaves out the phonetic spelling until the very end. So one is left turning the book this way and that trying to figure out what the word is.
And owning the tape does not help matters, since it is often hard to hear exactly what sounds are being made.
I gave it one star and I am being charitable...there was no choice for zero.
Used price: $2.99
Collectible price: $5.29
Used price: $2.59
Used price: $24.50
Collectible price: $25.41
Used price: $20.37
Buy one from zShops for: $24.26
First of all, I am an experienced computer programmer, and have developed code for the Java core programming language. I have read many-a-programming book, and can tell you to stay away from this one. Why?
This book:
* is not practical
* is filled with *serious* errors - not just typos
* fails by attempting to cover too many topics
* lacks examples and good diagrams
* lacks a sense of continuity from chapter to chapter
Many of this book's chapters are written as if they were a theorem: generalizations and buzzwords that don't get you anywhere. For example:
"If a set of permissions can between them imply a permission - even if no single permission in the set explicitly implies it completely by itself - you will need to provide your own implementation of PermissionCollection." Ha!
"Because sockets are just *programming* abstractions for network protocols, the other side of the connection does not have to use them. For example, the network program on the right side of this example may be coded in an exotic system that does not use the socket abstraction. That is, sockets don't use any additional communications mechanism other than that provided by the encapsulated protocol." Gimme a break!
Some of the errors in this book are the following:
* Chapter 5's author says that java.io.InputStream's "public int read(byte[] buf, int offset, int length)" method reads the input stream starting at 'offset' bytes deep into the input buffer - skipping the bytes toward the front of the buffer. This is incorrect. The author even has a diagram and examples to complement his error. This method actually reads starting at the front of the input buffer, and reads the bytes into 'buf' starting at buf[offset].
* As if all of the previous chapters' authors' errors weren't bad enough, Chapter 9's author took me to a screeching halt and compelled me to write this whole review when he said this: " It should be noted that the java.net.Socket object returned is bound to an ephemeral port number that is different from the one the ServerSocket is listening to (most applications don't care about that port number)." Whoa! This is absolutely, fundamentally wrong. In truth, the returned Socket has the *same* receiving port number as the ServerSocket. (Otherwise the client's Socket (whose destination port number is the same as the ServerSocket's receiving port number) wouldn't know what this "ephemeral port number" is, and so wouldn't be able to send packets to the server's newly created Socket.) IP packets are demultiplexed according to their *connection* (The 2 connected sockets, i.e. 5 parameters: the common protocol, the source's IP address & port number, and the destination's IP address & port number) and according to socket specificity, not just according to the receiving side's socket.
* Wrong diagrams. p.163: The diagram is of a program's output which shows "access denied", while its caption above says, basically, "tada, and it works." p.52: This diagram belongs in the I/O chapter.
The only chapter I found to be somewhat good was the Thread chapter (and a chapter on threads shouldn't even be in a book on networking). This book also suffers from lacking continuity due to the fact that it was written by 10 authors! For instance, this book has no consistent (or good) way of listing the API's and diagraming class relations. Chapters do not pedagogically build on the previous ones. I could go on...
If you want to learn about networking using Java, then here are your prerequisites. You should learn each of these from a book which specializes in the given topic.
* Basic Java Programming including I/O and Threads
* The TCP/IP protocol suite and TCP/IP networking
* Cryptography (optional)
* Java Security
After you do that, I highly recommend the book "TCP/IP Sockets In Java: Practical Guide for Programmers". This book gets the job done at only 110 pages. Another reason I recommend this book is that it lists references to 22 other good and relevant books/documents.
If you want to learn about HTML, Javascript, Servlets, JSP, RMI, CORBA, etc., then you should find a book specific to that topic. For instance, Marty Hall's books on Servlets and JSP are great.
Just because a programming book is thick, doesn't mean it's good. The book's publisher, Wrox, does put out some good books, but this just isn't one of them.