|
Books Music |
|
![]() |
| The Design and Analysis of Computer Algorithms... by Aho, Hopcroft and Ullman -- One of the classics -- a readable and practical textbook with dozens of problems and projects. Great as a reference to basic data structures and algorithms, too! |
Code CompleteCode Complete : A Practical Handbook of Software Construction
Steve
McConnell
Debugging the Development Process : Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams by Steve Maguire
|
About Face About Face : The Essentials of User Interface Designby Alan Cooper
|
Writing Solid Code Writing Solid Code : Microsoft's Techniques for Developing Bug-Free C Programsby Steve Maguire
|
Borland C++ 4.5 Object-Oriented Programming by Ted Faison As a Borland C++ and OWL 2.5 user, I am always on the look out for good books on this development system. To my dismay, I have never found any book which is really useful to me. What I continue to see are books with same old trivial treatment of the same old trivial topics. I am not a beginning or a casual C++ programmer. I develop commercial Windows programs for a living! I am tired of the books written for the beginners. All they do is rewrite the Borland documentation in their own words. Hardly any insights there. I'm sure most of you, who now know enough of C++ and OWL, are facing similar problems that I am facing. What I really like about the Borland C++ is the container class library. It lets you create powerful data objects which work behind the scenes. The container classes are indispensable for me. They are the primary reason why I haven't moved to Visual C++. But, the documentation on the container classes in Borland manuals is not enough. I had to do a lot of experiments to learn the stuff, and I had to look at the library code many times to make my own special containers. Of course, my work would have been easier if I'd have found this book by Ted Faison earlier. It will satisfy any serious programmers and product developers. I particularly like the following information which I haven't found treated in much detail elsewhere, .
Finally, don't be misled by the 4.5 in the title of this book. Even though Borland C++ has gone to 5.0, and the new C++ builder has been released, the idea that a program is "data structures + algorithms" is still true! Every good program needs good data structures or data objects. And you can't do without the container library and other goodies which are well treated in this book. Highly recommended! Note that this is not a book on learning OWL! There are scores of books on that subject. I am thankful that there are some non-trivial books like this one written by real programmers for real programmers. Review copyright (C) 1996-1997, Sanjay Kanade Author of WhizNotes - A Help Authoring System |
Understanding SQL (Martin Gruber)
This book provides a very good guide to using SQL. It took me from being a rank novice to someone who can design databases and write sophisticated queries. The book provides a well thought out description of SQL, beginning with the information a user who has no time to learn SQL needs to get going. The book starts with a description of what a relational database is, and then goes into how to write simple queries. The insides of the front and back cover provide a quick reference for SQL. Each additional chapter provides more detailed information, building on the information presented in the previous chapter. I expect the average user, who just needs to know enough SQL to generate reports, will only need read the first 3 chapters. If you have some complex queries, or are designing databases, you will end up reading the entire book. The information in the book is presented clearly and concisely. The book follows the SQL92 standard, and describes extensions and modifications to the standard that are common. |
The Art of Human Computer Interface Design Edited by Brenda Laurel Addison-Wesley Publishing Company 1990 You start to mature as a programmer when you realise that users do not look on your software in the same way you do. All those elegant algorithms and tricky handling of variables behind the scenes are simply invisible to them. To the average person the user interface IS the software. So we had better understand clearly what works and why, so we can sell more of our creations to more people. The 48 articles in this book cover the range of thinking from why have an interface at all to the use of guides to help the user find their way through a mass of information. While the screen has been the main location of interaction between people and computers, this book also has a section looking at additional means such as gestures, voice or video. Authors of articles in this collection include Brenda Laurel, Alan Kay, Donald A. Norman, Nicholas Negroponte, Timothy Leary, Michael Chen and Howard Rheingold. There are a couple of pages of pictures of the authors, and enough references listed to keep you reading for years if you want to explore further. It is the sort of book you keep dipping in to figure out where you are going, or where other programmers are going. One of the articles I keep going back to is "Building User Centred On-line Help" by Abigail Sellen and Anne Nicol. It has a list of questions that users ask:
The answers to these are different in various kinds of software. This is the sort of thinking that has lead to tool-tips, wizards, navigation button bars and similar new ideas. So the book is very much the base for work that is currently going on around us. Human-computer interface design is a new discipline that has grown to meet felt needs. Hopefully under the influence of books like this the future of software creation will see the end of the interface as a separate and secondary item. It aims for more than just teaching engineers to be sensitive to their users' needs and capabilities. The interface is the contact surface between two entities. We are surrounded by them in everyday life. A steering wheel is our interface between driver and car. A door knob is our interface to a building. The knob sticks out and its shape and placement are oriented to our hand. We will open the door. Sometimes you will meet a different door. You may be scanned by a video camera and some unknown agent will open the door from an invisible place. The interface reflects the possible functions that can be performed and the power or control of those who are interacting. This book will assist you in answer the fundamental question that all software creators are trying to answer: what does the user want to do? How can I make it possible for them to do what they want? |
|