Best Programming Books
Started by: anonymous
on 11/30/2006.
Which programming book has taught you the most? Here are the top choices.
| 1. |
The Pragmatic Programmer
Programmers are craftspeople trained to use a certain set of tools (editors, object managers, version trackers) to generate a certain kind of product (programs) that will operate in some environment (operating systems on hardware assemblies). Like any other craft, computer progra
mming has spawned a body of wisdom, most of which isn't taught at universities or in certification classes. Most programmers arrive at the so-called tricks of the trade over time, through independent experimentation. In The Pragmatic Programmer, Andrew Hunt and David Thomas codify many of the truths they've discovered during their respective careers as designers of software and writers of code. Some of the authors' nuggets of pragmatism are concrete, and the path to their implementation is clear. They advise readers to learn one text editor, for example, and use it for everything. They also recommend the use of version-tracking software for even the smallest projects, and promote the merits of learning regular expression syntax and a text-manipulation language. Other (perhaps more valuable) advice is more light-hearted. In the debugging section, it is noted that, "if you see hoof prints think horses, not zebras." That is, suspect everything, but start looking for problems in the most obvious places. There are recommendations for making estimates of time and expense, and for integrating testing into the development process. You'll want a copy of The Pragmatic Programmer for two reasons: it displays your own accumulated wisdom more cleanly than you ever bothered to state it, and it introduces you to methods of work that you may not yet have considered. Working programmers will enjoy this book. --David Wall Topics covered: A useful approach to software design and construction that allows for efficient, profitable development of high-quality products. Elements of the approach include specification development, customer relations, team management, design practices, development tools, and testing procedures. This approach is presented with the help of anecdotes and technical problems.
http://www.pragmaticprogrammer.com
(less)
… (more)
|
Vote | (1 Vote) |
| 2. |
Head First Design Patterns
You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the s
ame problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun. You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code. You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern. Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter. With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts. If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.
http://www.amazon.com/Head-First-Design-Patterns/dp/0596007124
(less)
… (more)
|
Vote | (1 Vote) |
| 3. |
The Practice of Programming
Coauthored by Brian Kernighan, one of the pioneers of the C programming language, The Practice of Programming is a manual of good programming style that will help any C/C++ or Java developer create faster, more maintainable code. Early sections look at some of the pitfalls of C/C
++, with numerous real-world excerpts of confusing or incorrect code. The authors offer many tips and solutions, including a guide for variable names and commenting styles. Next, they cover algorithms, such as binary and quick sorting. Here, the authors show how to take advantage of the built-in functions in standard C/C++. When it comes to data structures, such as arrays, linked lists, and trees, the authors compare the options available to C, C++, Java, and even Perl developers with a random-text-generation program (using a sophisticated Markov chain algorithm) written for each language. Subsequent sections cover debugging tips (including how to isolate errors with debugging statements) and testing strategies (both white-box and black-box testing) for verifying the correctness of code. Final sections offer tips on creating more portable C/C++ code, with the last chapter suggesting that programmers can take advantage of interpreters (and regular expressions) to gain better control over their code. A handy appendix summarizes the dozens of tips offered throughout the book. With its commonsense expertise and range of examples drawn from C, C++, and Java, The Practice of Programming is an excellent resource for improving the style and performance of your code base. --Richard Dragan
http://www.amazon.com/Practice-Programming-Brian-W-Kernighan/dp/02016158...
(less)
… (more)
|
Vote | (1 Vote) |
| 4. |
Subversion Version Control: Using the Subversion Version Control System in Development Projects
|
Vote | (1 Vote) |
| 5. |
Working Effectively with Legacy Code
|
Vote | (1 Vote) |
| 6. |
Programming for Dummies
|
Vote | (1 Vote) |
| 7. |
Java for Dummies
|
Vote | (1 Vote) |
| 8. |
UNIX Programming Environment
|
Vote | (1 Vote) |
| 9. |
HTML 4 for the World Wide Web, Fourth Edition (Visual QuickStart Guide)
|
Vote | (1 Vote) |
| 10. |
The C Programming Language
Just about every C programmer I respect learned C from this book. Unlike many of the 1,000 page doorstops stuffed with CD-ROMs that have become popular, this volume is concise and powerful (if somewhat dangerous) -- like C itself. And it was written by Kernighan himself. Need we
say more?
http://en.wikipedia.org/wiki/The_C_Programming_Language_(book)
(less)
… (more)
|
Vote | (0 Votes) |
| 11. |
Structure and Interpretation of Computer Programs
Abelson and Sussman's classic Structure and Interpretation of Computer Programs teaches readers how to program by employing the tools of abstraction and modularity. The authors' central philosophy is that programming is the task of breaking large problems into small ones. The boo
k spends a great deal of time considering both this decomposition and the process of knitting the smaller pieces back together. The authors employ this philosophy in their writing technique. The text asks the broad question "What is programming?" Having come to the conclusion that programming consists of procedures and data, the authors set off to explore the related questions of "What is data?" and "What is a procedure?" The authors build up the simple notion of a procedure to dizzying complexity. The discussion culminates in the description of the code behind the programming language Scheme. The authors finish with examples of how to implement some of the book's concepts on a register machine. Through this journey, the reader not only learns how to program, but also how to think about programming.
http://www.amazon.com/Structure-Interpretation-Computer-Programs-Enginee...
(less)
… (more)
|
Vote | (0 Votes) |
| 12. | Voodoo's Introduction to Javascript | Vote | (0 Votes) |
| 13. |
How To Think Like A Computer Scientist with C
|
Vote | (0 Votes) |
| 14. |
Learning Computer Programming
|
Vote | (0 Votes) |
| 15. |
Generative Programming
|
Vote | (0 Votes) |
| 16. |
Writing Solid Code
|
Vote | (0 Votes) |
| 17. |
Java
|
Vote | (0 Votes) |
| 18. |
Programming Pearls
Fourteen years after it was first issued, C++ expert Jon Bentley reinvents a true classic with the second edition of his Programming Pearls. Completely revised and brought up to date with all new code examples in C and C++, this book remains an exceptional tutorial for learning t
o think like a programmer. The "pearls" in question center not only on choosing the right algorithms (like binary searches, sorting techniques, or sparse arrays) but also on showing how to solve problems effectively. Each chapter frames a particular programming task--such as sorting numbers, creating anagrams, or counting the words in a block of text--many drawn from Bentley's experiences in his long career as a developer. The book traces the process of arriving at a fast, efficient, and accurate solution, along with code profiling to discover what works best. After refining the correct answer, each chapter enumerates programming principles that you can use on your own. The author also challenges you to think like an engineer, and each chapter ends with about a dozen problems to get you thinking creatively about design issues. (Sidebars on such historical topics as the first computer solutions to computer chess, spell-checking, and even architectural design help create a perspective on successful problem solving and make for a truly educational and enjoyable tour of how to become a better programmer.) Bentley also asks the reader to think analytically about the world with "back of the envelope" estimation techniques drawn from engineering. Appendices list the algorithms and code rules covered in the book, plus some sample solutions. Fans of the first edition of this title will be pleased to see this favorite computer text brought up to date for today's faster hardware. Whether you want to improve your command of algorithms or test your problem-solving skills, the new version of Programming Pearl is a challenging, instructive, and thoroughly entertaining resource. --Richard Dragan Topics covered: Programming and problem-solving tutorial, sorting algorithms, merge sort, bit vectors, binary searches, program correctness and testing, improving performance, engineering and problem-solving techniques, performance estimates, designing for safety, divide-and-conquer and scanning algorithms, tuning code, tips for more efficient memory usage, insertion sort, quicksort algorithms, sparse arrays, searching algorithms, binary search trees, heaps, priority queues, searching text, and generating random text.
http://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880
(less)
… (more)
|
Vote | (0 Votes) |
| 19. |
Javascript: The Definitive Guide
|
Vote | (0 Votes) |
| 20. |
Professional Java Server Programming: with Servlets, JavaServer Pages (JSP), XML, Enterprise JavaBeans (EJB), JNDI, CORBA, Jini and Javaspaces
|
Vote | (0 Votes) |
| 21. |
Add!
|
||
-
You must be logged in to comment.
More lists about Software
Sign In
Point Leaders
bill
(5,197 points)
82 Lists | 536 Items | 21 Comments
82 Lists | 536 Items | 21 Comments
cartert
(2,795 points)
45 Lists | 286 Items | 0 Comments
45 Lists | 286 Items | 0 Comments
s217
(2,768 points)
49 Lists | 328 Items | 2 Comments
49 Lists | 328 Items | 2 Comments
erick
(2,647 points)
50 Lists | 361 Items | 0 Comments
50 Lists | 361 Items | 0 Comments
dep583
(2,500 points)
45 Lists | 247 Items | 0 Comments
45 Lists | 247 Items | 0 Comments

