Used price: $4.25
Collectible price: $16.50
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: $24.95 (that's 30% off!)
Used price: $17.34
Buy one from zShops for: $16.37
As far as its coverage of the BR1180 goes, if you've already attempted to record one or two songs on the unit and have read the manual through once or twice - and that's how I recommend you approach learning this unit - you've already learned more than this book will ever teach you. The author ducks the difficult topics - at one point saying something like, "Don't try to bounce, it's too complicated"!!! Again, you're time would be better spent hanging out at the BR1180 Yahoo group.
List price: $26.95 (that's 30% off!)
Used price: $12.99
Buy one from zShops for: $17.60
Used price: $24.50
Buy one from zShops for: $32.18
For example, the first chapter discusses the way that Shakespeare added characters to his source materials to enhance the effect of the play. Welsh focuses on the expansion of Polonius' family to provide a foil to Hamlet's family. This information could have been presented much more crisply, and is familiar to any one who has read even the briefest discussions of Shakespeare's source material, for example Jenkin's introduction to the Arden version of Hamlet. On the other hand, on reading the chapter Welsh wrote on Goethe and Scott's comments on Hamlet, I never could follow which of these two critics he was talking about. Not fun.
Used price: $16.89
Collectible price: $19.06
Buy one from zShops for: $18.24
List price: $16.00 (that's 30% off!)
Used price: $43.67
Collectible price: $47.65
Used price: $4.75
Buy one from zShops for: $4.95
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.