Sponsored links

Valid XHTML 1.0!
Valid CSS!

Product: Book - Paperback
Title: Thinking in Java (3rd Edition)
Publisher: Prentice Hall PTR
Authors: Bruce Eckel
Rating: 5/5
Customer opinion - 5 stars out of 5
Getting close to perfection

This book goes way beyond the "tips and tricks" explained in so many other Java books. It explains in exhaustive detail how and why one should use the object oriented features of the language to produce professional-grade code. It explains many finer points of scope resolution, syntax, and class design which I have never seen covered anywhere else.
It covers the most important parts of the standard libraries to illustrate good object-oriented design and coding practices. The whole idea is that, once you understand the underlying principles of the language, you'll be capable of using the free Java API documentation without needing everything to be explained to you any further.
In my review of the first edition, I complained that the examples weren't always as realistic as I would have liked to have seen, and that the writing was occasionally not as clear as it might have been. I think that the writing has gotten clearer in most places, but the examples still sometimes leave me thinking "That's really fascinating, but when, why, and how would I use this in an actual development project?" Nevertheless, I have learned to love even the code examples for their authoritative demonstrations of object-oriented coding techniques that even most expert Java developers probably don't know, and probably should know.
As a programmer, I often get depressed when I see how much really atrocious code is being pumped out. After a ten-hour day of wading through swamps full of incomprehensible spaghetti, it is like a breath of fresh air to open Bruce Eckel's masterpiece and realize that there are others out there who care about the quality of the software being developed today.
Do yourself and the programming profession a favor and buy this book, or at least download it. You must then devote yourself diligently to following along with each chapter, typing the examples out and experimenting with them, and then doing the excercises at the end of each chapter. Even if you consider yourself an expert Java programmer I think you'll quickly discover, even in the early chapters of the book, that there is an awful lot that you didn't really understand about Java! It will probably take you more than one time through before you really have it down, and you should allow a good three months of evenings and weekends for each time through. There are no shortcuts to a deep understanding of OOP in Java, I'm afraid. The acid test is that if you can't do all the excercises with aplomb then you don't really know the material. It's a long journey, but it's worth the trip. Good luck!

Product: Book - Hardcover
Title: Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science)
Publisher: The MIT Press
Authors: Harold Abelson, Gerald Jay Sussman
Rating: 1/5
Customer opinion - 1 stars out of 5

I must say, it takes great talent to take relatively simple and curious ideas, and present them in a very boring and convoluted way. That's right, this book will make you feel pain at every paragraph. You won't learn anything either. If you are interested in theoretical side of computers, there are plenty of better books. Don't waste your time and money on this one.

Product: Book - Paperback
Title: Designing Web Usability : The Practice of Simplicity
Publisher: New Riders Press
Authors: Jakob Nielsen
Rating: 5/5
Customer opinion - 5 stars out of 5
This is the bible

You may not follow all of Jacob Neilson's guidelines, but you can't start any website construction or redesign project without reading this book.

Product: Book - Paperback
Title: The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography
Publisher: Anchor
Rating: 5/5
Customer opinion - 5 stars out of 5
A great read and a little more than just codes

Mr. Singh traces the history of cryptography from its recorded inception in roman times up through current applications. While all of the chapters held my interest it was Mr. Singh's work in chapters 4 through 6 that I feel deserve particular note.
Chapter 4 deals with the war effort at Bletchley Park and the work on the Engima machine. Here Mr.Singh adds an additional dimension by providing some insight into the work of Alan Turning, the development of Colossus, the first (now reported) electronic programmable computer and the unrecognized cryptanalysts who broke Ultra and the other codes of WWII. Chapter 6 brings us up to present day cryptographic issues from RSA and PGP to philosophical issues of personal privacy in modern society with web centric commerce and online book reviews. At each step in the process Singh successfully combines the elements of a technical treatise with a human values and features. For those wanting to go a little further under the hood and look at the processes and algorithms in some of the codes mentioned in the text, several appendices at the end of the book should fill that yearning. I found the book informative and enjoyable to read.