Here are 99 books that The Art of Computer Programming fans have personally recommended if you like
The Art of Computer Programming.
Book DNA is a community of 12,000+ authors and super readers sharing their favorite books with the world.
I have been working with computers for decades now – having started with programmable handheld calculators and working my way up and down through mainframes, mini- and micro-computers. I always thought there is an art to writing software, and that good software can be read and admired. Maintainability, readability, and testability are some core needs for software, and after going through many programming paradigms, I feel that functional programming (FP) is the way to go – and several modern web frameworks agree. JavaScript (and now, TypeScript) are essential to web development, and I wanted to show how FP could be successfully used with those languages, and thus my book.
This book is different from the others I recommended, because its focus is not really on creating algorithms, but rather on how to improve code with a systematic process, keeping functionality but enhancing quality.
The author shows several practical techniques that he applies to real-world problems and empower you to elevate your code's quality and adapt it seamlessly to changing needs. It's not just about writing code; it's about becoming a more effective and confident developer.
I consider this book a companion on the journey to mastering the craft of coding. With it, you’ll always be able to achieve higher-quality code, no matter the original version of the code.
Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use…
A moving story of love, betrayal, and the enduring power of hope in the face of darkness.
German pianist Hedda Schlagel's world collapsed when her fiancé, Fritz, vanished after being sent to an enemy alien camp in the United States during the Great War. Fifteen years later, in 1932, Hedda…
I have been working with computers for decades now – having started with programmable handheld calculators and working my way up and down through mainframes, mini- and micro-computers. I always thought there is an art to writing software, and that good software can be read and admired. Maintainability, readability, and testability are some core needs for software, and after going through many programming paradigms, I feel that functional programming (FP) is the way to go – and several modern web frameworks agree. JavaScript (and now, TypeScript) are essential to web development, and I wanted to show how FP could be successfully used with those languages, and thus my book.
This thin but quite fulfilling book is a compact yet profound exploration of proven program correctness, probably one of the first texts to focus on that topic.
Dijkstra's emphasis on mathematical rigor and disciplined thinking reshapes how programmers approach problem-solving. The author imparts essential principles of program construction, advocating for clarity and precision in code, and leading to cultivating a disciplined mindset, and fostering a deep appreciation for the art and science of programming.
Despite its age, all its knowledge is fully valid, and I’d give the book to every programmer so they can reach a higher level of quality.
Clean wraps, corners square, lay flat. No creases to the spine, or hinge. Small frayed spot at the top of the spine. No previous owner's name, no other marks in text. Well kept copy.
I have been working with computers for decades now – having started with programmable handheld calculators and working my way up and down through mainframes, mini- and micro-computers. I always thought there is an art to writing software, and that good software can be read and admired. Maintainability, readability, and testability are some core needs for software, and after going through many programming paradigms, I feel that functional programming (FP) is the way to go – and several modern web frameworks agree. JavaScript (and now, TypeScript) are essential to web development, and I wanted to show how FP could be successfully used with those languages, and thus my book.
This book is essential in that it follows a systematic and scientific approach to software development, advocating for clarity in expressing algorithms, providing a rigorous framework for designing and reasoning about programs, and, fundamentally, always focusing on formal methods and mathematical techniques to ensure correctness and efficiency in programming code.
Most importantly, the book doesn’t just show you how to prove programs correct, but also teaches how to arrive from a definition to an efficient and correct solution, so I would recommend this to every developer.
Coyote weather is the feral, hungry season, drought-stricken, and ready to catch fire. It’s 1967, and the American culture is violently remaking itself while the country is forcibly sending its young men to fight in a deeply unpopular war.
Jerry has stubbornly made no plans for the future because he…
I have been working with computers for decades now – having started with programmable handheld calculators and working my way up and down through mainframes, mini- and micro-computers. I always thought there is an art to writing software, and that good software can be read and admired. Maintainability, readability, and testability are some core needs for software, and after going through many programming paradigms, I feel that functional programming (FP) is the way to go – and several modern web frameworks agree. JavaScript (and now, TypeScript) are essential to web development, and I wanted to show how FP could be successfully used with those languages, and thus my book.
Of all the books I recommend, this is practically a sort of personal bible, which I very frequently consult.
This book doesn't just show you how to code; with realistic patterns and real-world examples, it's like having experienced mentors guiding your every keystroke. These patterns aren't just snippets; they're blueprints for building robust, flexible software.
I think the book is practically mandatory for all developers, novice or seasoned. It transformed how I approach problems, teaching me techniques I use daily in systems design and development.
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.
The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit…
I am Professor of Computer Science at Stony Brook University, and have spent the past thirty years thinking/teaching/writing about algorithms. Algorithms are the really cool thing about computer science, for they form the ideas behind any interesting computer program. And algorithms turn out to be the ideas behind many interesting aspects of life that have nothing to do with computers. I have written six books on algorithms, programming, gambling, and history –including the ranking of the historical significance of all the people in Wikipedia.
Knuth’s unique mix of playfulness and rigor came to define computer science as an intellectual discipline: computer science didn’t really have anything to do with computers, but everything to do with a particular way of seeing the world. Just browse and wonder at the beauty and precision achieved in these books.
Volume 3 (Sorting and Searching) is my personal favorite, and I encourage you to start there. During the pandemic, I finally got around to reading Volume 4A (Combinatorial Algorithms), which was published thirty plus years after Volume 3. It was the same feeling I had watching the movie The Phantom Menace years after growing up with the original Star Wars trilogy. I had forgotten just how unique and distinctive Knuth’s Art of Computer Programming is.
The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer programming.
-Byte, September 1995
I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up.
-Charles Long
If you think you're a really good programmer... read [Knuth's] Art of Computer Programming... You should definitely send me a resume if you…
I started programming in high school and wrote software in many domains for 30 years, from the early ARPA-net to massive credit card software. I wrote a FORTRAN compiler with one assistant in a year. I got hassled to do proper project management. Nightmare. It was all about inflated expectations instead of moving fast and winning. Then in 25 years of venture capital investing, I learned from many young companies how the little startups built quickly and well things that giants like Google literally could not get done. This book and my others spell out what I learned from the little guys who beat the giants.
This is the definitive book series on algorithms and the core of computer programming.
Unlike most such books, Knuth is a real programmer, deep into the details of the craft, to the point of creating his own assembler language and typesetting generation system. It’s partly the substance of the algorithms and their analysis, but even more is the way he models a way of thinking about and solving complexity that makes this a must-read series.
Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually.
The Art of Computer Programming, Volumes 1-4A Boxed Set, 3/e
Homeless following the death of his adoptive parents in a car crash and the subsequent loss of their farm tenancy, Seb decides to enrol as a residential student at the Asklepios Foundation, a College of Natural Medicine, boasting a sanctuary modelled on an ancient Greek healing temple. Spending a night…
Computers have fascinated me since my childhood, having fond memories of my dad's ZX81, but even so I played around I was never truly captured by the programming until I recognized it as a way of writing rather than raw engineering. Through my studies of media sciences I found my fascination with how language can shape perception, and through my work in developer advocacy, I found how communities are shaped as well. Now I am fascinated with how different programming languages can shape thinking, having had the opportunity to solve problems at large companies in nonmainstream languages.
Smalltalk is not as common or popular as it once was, but the influence its design had on programming is hard to overstate.
Reading this book has changed how I think about object orientation, and how I design systems, learning the patterns of Smalltalk makes it clear what object oriented design is really intended to achieve.
This classic book is the definitive real-world style guide for better Smalltalk programming. This author presents a set of patterns that organize all the informal experience successful Smalltalk programmers have learned the hard way. When programmers understand these patterns, they can write much more effective code. The concept of Smalltalk patterns is introduced, and the book explains why they work. Next, the book introduces proven patterns for working with methods, messages, state, collections, classes and formatting. Finally, the book walks through a development example utilizing patterns. For programmers, project managers, teachers and students -- both new and experienced. This book…
I’ve been making web pages since the World Wide Web began in the mid-1990s. Back then, the web was visually quite sparse. It wasn’t until the late 2000s that new browser capabilities let the web getvisually interestingand an exciting place for interactive graphics. Graphics are great: they can be informational (like charts and maps) or purely aesthetic. My personal journey of learning to code interactive graphics has been so rewarding that I’ve shared the love with others through teaching creative coding workshops and undergraduate courses. If you’re new to coding or computer graphics, I hope you’ll give one of these books a try!
Okay, hear me out. Yes, this book was published in 2007. Yes, it’s ostensibly about ActionScript, the coding language in Flash, which no one uses anymore. But you won’t use this book to learn ActionScript or Flash: You’ll use it to learn how to make things move with code, in any language. You’ll skip over the ActionScript-specific parts in favor of the lucid explanations and helpful illustrations. Your visual brain will appreciate seeinghow sines, cosines, and tangents are relevant—and necessary!—to make digital things move. (Your heart will wish your brain had paid better attention in trigonometry class years earlier, but hey, no regrets!) The chapters “Trigonometry for Animation” and “Velocity and Acceleration” alone are worth the purchase price.
This is the first definitive and authoritative book available on ActionScript 3 animation techniques. ActionScript animation is a very popular discipline for Flash developers to learn. The essential skill set has been learned by many Flash developers through the first edition of this book. This has now been updated to ActionScript 3, Adobe's new and improved scripting language. All of the code has been updated, and some new techniques have been added to take advantage of ActionScript 3's new features, including the display list and new event architecture. The code can be used with the Flash 9 IDE, Flex Builder…
I’ve spent most of my life writing code—and too much of that life teaching new programmers how to write code like a professional. If it’s true that you only truly understand something after teaching it to someone else, then at this point I must really understand programming! Unfortunately, that understanding has not led to an endless stream of bug-free code, but it has led to some informed opinions on programming and books about programming.
I’ve read a lot of books about programming; very few of them have made me laugh. None made me laugh as much as this book.
There’s one chapter where… nah, I don’t want to spoil it for you. Plus it has cartoons! Obviously, none of that would matter unless it also had interesting things to say about the practice of programming, but it’s packed full of interesting perspectives on all sorts of issues, from team dynamics to thinking about your career to an explicit consideration of the ethics of programming.
When we make games at Sucker Punch, we aim to “surprise and delight” the player—and that’s exactly what this book did for me.
If you're passionate about programming and want to get better at it, you've come to the right source. Code Craft author Pete Goodliffe presents a collection of useful techniques and approaches to the art and craft of programming that will help boost your career and your well-being. Goodliffe presents sound advice that he's learned in 15 years of professional programming. The book's standalone chapters span the range of a software developer's life - dealing with code, learning the trade, and improving performance - with no language or industry bias. Whether you're a seasoned developer, a neophyte professional, or a hobbyist,…
Marriage and Fatherhood in the Nazi SS
by
Amy Carney,
When I was writing this book, several of my friends jokingly called it the Nazi baby book, with one insisting it would make a great title. Nazi Babies – admittedly, that is a catchy title, but that’s not exactly what my book is about. SS babies would be slightly more…
I’ve always enjoyed mentoring folks whether new or experienced in programming. Whether it is teaching an intern or a high school robotics student, or onboarding an experienced Java developer, it brings me joy to see people learn. I also love to read. Being able to recommend some of my favorite books can help even more people absorb all of this information.
By contrast to my previous 20-year-old book recommendation, this one is brand new.
When I was learning Java, we used the (now classic) “Gang of Four” book for Patterns. For design patterns, language syntax does matter. Miro covers the Gang of Four patterns and new ones using the same categories – creational, structural, and behavioral.
Miro also adds concurrency and anti-patterns which weren’t in the original GoF. I like that he includes review questions. This is very key info to know and mastering it with a modern book is very useful. Plus Miro includes examples of that pattern in the JDK itself.
Unravel the power of Java design patterns by learning where to apply them effectively to solve specific software design and development problems
Key Features Decouple logic across objects with dependency injection by creating various vehicles with features Finalize vehicle construction by chaining handlers using the Chain of Responsibility Pattern Plan and execute an advanced vehicle sensor initiation with the Scheduler PatternBook Description
Design patterns are proven solutions to standard problems in software design and development, allowing you to create reusable, flexible, and maintainable code. This book enables you to upskill by understanding popular patterns to evolve into a proficient software…