Product: Book - Hardcover
Title: Introduction to the Theory of Computation
Publisher: Course Technology
Authors: Michael Sipser
I bought this book in a desperate attempt to pass a Theory of Computation course in which I was enrolled. I was stuck in the sad situation of having a non-English speaking, difficult to understand professor. In addition, the required text for the course was awful. Thanks to Sipser's book, I not only avoided dropping the course, but managed to get an A. (I'm not exagerating). Sipser's book is fantastic compared to others on the subject. It is written in easy to understand, plain, no-nonsense language. (Even the section on pumping lemma is understandable) I became aware of Sipser's book as a result of reading a customer's negative review of another (more expensive) book (Intro to Languages & theory of Computation by J. Martin) on the same subject. The reviewer suggested buying this book by Sipser instead, and that advice was excellent. (Many thanks to that reader, whoever you are!) If you are considering heading for the drop course line at the registrar's office, try this book before you give up and quit!
Product: Book - Hardcover
Title: Core J2EE Patterns: Best Practices and Design Strategies, Second Edition
Publisher: Prentice Hall PTR
Authors: Deepak Alur, Dan Malks, John Crupi
This is a must have book for any J2EE developer or architect, even if you already own the first edition it is well worth the $ to get this 2nd edition. The patterns documented in the book are the vocabulary of J2EE development.
The first 100 pages or so is dedicated to educating the reader on various design practices for each of the tiers as well as cross tier considerations. The authors also cover what not to do in the 'bad practices' sections of each chapter. This is especially useful to developers new to J2EE since it will help them to see what others (me included) have done wrong in the past and why it does not work. The end of this section is concluded with a great set of refactorings to make your applications that are stuck in the bad design practices better. While I wish that some of the refactorings were a bit more detailed over all I really liked this chapter as well.
The next section is on the actual patterns and they too are divided up into tiers. I especially like the J2EE Pattern Roadmap in Chapter 5, it gives a nice over view of how everything fits together. The rest of the section covers the patterns in detail. All the classics are there as well as several new ones that are sure to become as much a part of our vocabulary as Session Facade is now.
Finally the future of pattern work is partially revealed in the form of 'Micro-Architectures'. The Web Worker M-A is sort of a pattern for using patterns. Or in other words it provides specific guidance on how to put the patterns in the book together to achieve the specific goal of integrating work-flow into your J2EE application. I'm looking forward to hearing more about this topic from the authors in the future.
The book is much better than the first edition. With a hard back it will last a lot longer through the many, many sessions you will have with this book.
Product: Book - Paperback
Title: The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography
Authors: SIMON SINGH
I cannot put it down as soon as I started to read this book. The historical development of cryptography was presented in a highly logical and easy to understand manner. At each stage in history the problem facing codebreakers and codemakers are presented in such a precise way such that when the solution was described, you feel like you would have solved them by yourself. As in most of the problems, when the solution are found it makes the problem looks so trival that you do not understand why you stuck with it at the first place. The technical detail are interwoven with fastinating historical stories. You can read it as a novel or a collection of mind-boggling puzzles. As a person who loves solving puzzles, this is my first book on crytograpghy and it certainly raised my interest to read more about the topic.
Product: Book - Hardcover
Publisher: Addison Wesley
Authors: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman
Compiler design is a huge field. This book is a mirror of this field. The language is clear and the notation used by authors simplify understanding of the material.This book covers the main arguments relevant to compiler design:
1) Introduction to compiling
2) A simple one-pass compiler
3) Lexycal analysis
4) Syntax analysis
5) Syntax-directed translation
6) Type checking
7) Run-time Environments
8) Intermediate code generation
9) Code generation
10) Code optimization
plus other chapters with some hints and a programming project.
Some people said that this book is too "heavy" for an introductory course on compiler design. I think that all people reading a book of this entity should have at least a basic understanding of theoretical computer science, like finite state machines, grammars, and regular expressions. All the material is well organized.
The book starts with an introduction to compiler design, ideas and basic principles. Then it develops concepts in the rest of the book. Of course this is not an easy reading but this is not a problem of the book. Compiler theory is complex and this book try to explain it in the clearest way possible.
I like this book, after reading this you'll have all the skills to read more advanced books about this subject.
This book has always been considered the standard textbook about compiler design and I recommend it to all people interested in this wonderful subject. Highly recommended.