Here are 78 books that Code fans have personally recommended if you like
Code.
Shepherd is a community of 12,000+ authors and super readers sharing their favorite books with the world.
The art of computer programming is a lot like the art of writing: It's not just about what your program says but about how it says it. One of the reasons I like the C and C++ languages—which I picked up in the late 1990s and haven't put down since—is that, as compiled, non-sandboxed languages, they promise total control over the machine. Show me where you want each byte of data to go in memory; show me the machine instructions you want; and I can make C++ do that for you.
Every "computer person" should read GEB at least once. Preferably in high school, when you still have the free time to dive deep into all the recreational math exercises. If you're already working 40-hour weeks and wonder who has time for Hofstadter's 750-page "metaphorical fugue on minds and machines," all I can say is: Better late than never!
Douglas Hofstadter's book is concerned directly with the nature of maps" or links between formal systems. However, according to Hofstadter, the formal system that underlies all mental activity transcends the system that supports it. If life can grow out of the formal chemical substrate of the cell, if consciousness can emerge out of a formal system of firing neurons, then so too will computers attain human intelligence. Goedel, Escher, Bach is a wonderful exploration of fascinating ideas at the heart of cognitive science: meaning, reduction, recursion, and much more.
The Victorian mansion, Evenmere, is the mechanism that runs the universe.
The lamps must be lit, or the stars die. The clocks must be wound, or Time ceases. The Balance between Order and Chaos must be preserved, or Existence crumbles.
Appointed the Steward of Evenmere, Carter Anderson must learn the…
It was while on the job as an investment banker that I first heard about this new thing called Bitcoin, before the word "web3" entered the vernacular. Initially I was skeptical but curious. But I became convinced the underlying technology of blockchains was ushering in nothing short of a new internet. My father Don Tapscott and I agreed to collaborate on a major research initiative that became the international best-seller, Blockchain Revolution. Since then, I have traveled to 40 countries and seen first-hand how blockchain and now Web3 is changing the world, setting the stage for a new digital age. My new book charts a course for this coming transformation.
In The Innovators, Walter Isaacson reminds us that “innovation occurs when ripe seeds fall on fertile ground.” Like the earth beneath our feet, we stand on stratum upon stratum of technological innovation, each with unique markers of its age.
Sometimes, the right idea, person, or group of people arrives at the right time to sow the seeds of something new. Isaacson explores how this phenomenon, teaching us how the collaboration of many individuals working across time and space helped usher in the first digital age in a highly readable survey of the main players and events.
As we stand on the brink of a second digital age, we would do well to search our history for lessons before stepping into the future.
Following his blockbuster biography of Steve Jobs, The Innovatorsis Walter Isaacson's story of the people who created the computer and the Internet. It is destined to be the standard history of the digital revolution and a guide to how innovation really works.
What talents allowed certain inventors and entrepreneurs to turn their disruptive ideas into realities? What led to their creative leaps? Why did some succeed and others fail?
In his exciting saga, Isaacson begins with Ada Lovelace, Lord Byron's daughter, who pioneered computer programming in the 1840s. He then explores the fascinating personalities that created our current digital revolution,…
I love to expand my knowledge and learn not just about new technologies, but how things work. I find it fascinating to dig deep into computer programming, technology concepts, and really geek out on things. That’s why I love software development or programming books that aren’t just about some technology and how to do something, but rather books that really make you think and teach you not just programming skills but critical thinking about problem-solving skills. As a software developer for over 15 years and a person who teaches software developers, I have learned that if someone isn’t entertained, they aren’t learning. That’s why I put together a list of fun, entertaining and useful books.
I love writing good clean code. There is something refreshing about writing or reading code that reads more like a book than some obscure instructions to a machine. This book goes into the details of how to write “clean code” and what makes it clean.
I felt like I learned so much about writing good code from reading this book about things that you are never really taught in school or on the job as a software developer.
I found so much of the book so interesting because I could use what I was learning right away to become a better programmer.
If you want to become a better programmer and are looking for a book that will entertain you and be fun along the way, I highly recommend Clean Code.
Even bad code can function. But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't have to be that way.
Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code "on the fly" into a book that will instill within you the values of a software craftsman and make you a…
Magical realism meets the magic of Christmas in this mix of Jewish, New Testament, and Santa stories–all reenacted in an urban psychiatric hospital!
On locked ward 5C4, Josh, a patient with many similarities to Jesus, is hospitalized concurrently with Nick, a patient with many similarities to Santa. The two argue…
I love to expand my knowledge and learn not just about new technologies, but how things work. I find it fascinating to dig deep into computer programming, technology concepts, and really geek out on things. That’s why I love software development or programming books that aren’t just about some technology and how to do something, but rather books that really make you think and teach you not just programming skills but critical thinking about problem-solving skills. As a software developer for over 15 years and a person who teaches software developers, I have learned that if someone isn’t entertained, they aren’t learning. That’s why I put together a list of fun, entertaining and useful books.
Even though this book is a bit older, I had a ton of fun doing the programming problems in this book. This book really makes you think outside the box as a programmer and try to solve various problems in different ways depending on what you are trying to optimize for.
I really learned a lot about not just solving a problem, but solving a problem for a specific set of goals. Overall it made me a better programmer and made me think more deeply about programming problems.
If you want to improve your problem-solving skills and have fun doing it, I would definitely recommend this book.
When programmers list their favourite books, Jon Bentley's collection of programming pearls is commonly included among the classics. Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley's pearls offer unique and clever solutions to those nagging problems. Illustrated by programs designed as much for fun as for instruction, the book is filled with lucid and witty descriptions of practical programming techniques and fundamental design principles. It is not at all surprising that…
I love to expand my knowledge and learn not just about new technologies, but how things work. I find it fascinating to dig deep into computer programming, technology concepts, and really geek out on things. That’s why I love software development or programming books that aren’t just about some technology and how to do something, but rather books that really make you think and teach you not just programming skills but critical thinking about problem-solving skills. As a software developer for over 15 years and a person who teaches software developers, I have learned that if someone isn’t entertained, they aren’t learning. That’s why I put together a list of fun, entertaining and useful books.
Wow! This book is exactly what every programmer has always wanted to know or even felt guilty about not knowing and it’s all presented in an extremely simplified and fun way.
This is one of those books where you get excited in the morning when you wake up because you know you are going to be able to read more in the book and you are hoping the book will never end.
It’s rare to find a big book that I enjoyed reading so much and felt so short. This book covers almost everything you ever wondered about computer science. After reading this book, I felt like I finally understood everything a programmer was supposed to know and I no longer felt that nagging feeling of being an imposter.
Everyone uses technology, but few stop to think about where these technologies come from and what this trajectory means to humanity. During my professional career, I have dedicated myself to public service focused on security and defense as a U.S. Army officer, senior government civilian, and in think tanks, industry, and academia. My journey has taken me to over 60 countries where I have witnessed humankind's best and worst. The difference is often in how our technologies are used—to build cities, feed populations, and develop life-saving vaccines or to oppress peoples or as tools of war.
Extraordinary book that has tapped into the most important hardware of the AI revolution and will be foundational in the emerging Age of Augmented Humanity. This book provides the detail that allows the reader to understand the history and current state of global semiconductor design and the manufacturing community.
It also lays out in exquisite detail the importance of the technology in the future and how it needs to be protected. In no small measure, the book was instrumental in highlighting the importance of semiconductors in todays’ digital world.
***Winner of the Financial Times Business Book of the Year award***
'Pulse quickening. A nonfiction thriller - equal parts The China Syndrome and Mission Impossible' New York Times
An epic account of the decades-long battle to control the world's most critical resource-microchip technology
Power in the modern world - military, economic, geopolitical - is built on a foundation of computer chips. America has maintained its lead as a superpower because it has dominated advances in computer chips and all the technology that chips have enabled. (Virtually everything runs on chips: cars, phones, the stock market, even the electric grid.) Now…
A Duke with rigid opinions, a Lady whose beliefs conflict with his, a long disputed parcel of land, a conniving neighbour, a desperate collaboration, a failure of trust, a love found despite it all.
Alexander Cavendish, Duke of Ravensworth, returned from war to find that his father and brother had…
As a computer science professor and educator, my teaching motto is Rigor and Vigor. I believe that the only way to learn something deeply, whether it's an abstract mathematical argument or a complex computer system – is building the thing from the ground up, from first principles. That's the rigor. The second requirement – vigor – comes from the need to make this learning experience captivating, rewarding, empowering. I spent much of my career developing books, courses, and games that help learn computer science and mathematics with gusto. I am pleased that this work has had an impact, and that it resonates with many students and self-learners around the world.
Computer architectures have historically followed two paradigms: CISC (Complex Instruction Set Computing) and its later contender RISC (Reduced Instruction Set Computing).
RISC processors, which presently power most smartphones, tablets, and IoT devices, were pioneered by Cocke, and later by Patterson and Hennessy – all winners of the Turing Award. Patterson and Hennessy’s classical book series Computer Organization and Design became the go-to textbooks in many academic computer architecture courses.
When reading these books, I enjoy the direct connection with the architects of the systems described. And, I appreciate the numerous insights about compilation, systems, and engineering at large, and the generous and balanced comparisons with competing, non-RISC architectures.
Computer Organization and Design RISC-V Edition: The Hardware Software Interface, Second Edition, the award-winning textbook from Patterson and Hennessy that is used by more than 40,000 students per year, continues to present the most comprehensive and readable introduction to this core computer science topic. This version of the book features the RISC-V open source instruction set architecture, the first open source architecture designed for use in modern computing environments such as cloud computing, mobile devices, and other embedded systems. Readers will enjoy an online companion website that provides advanced content for further study, appendices, glossary, references, links to software tools,…
As a computer science professor and educator, my teaching motto is Rigor and Vigor. I believe that the only way to learn something deeply, whether it's an abstract mathematical argument or a complex computer system – is building the thing from the ground up, from first principles. That's the rigor. The second requirement – vigor – comes from the need to make this learning experience captivating, rewarding, empowering. I spent much of my career developing books, courses, and games that help learn computer science and mathematics with gusto. I am pleased that this work has had an impact, and that it resonates with many students and self-learners around the world.
This weighty tome delves deep into the low-level working of computer programs.
This book is a great resource for professional programmers who work close to the machine in such fields as embedded software, cybersecurity, and device drivers. Assuming a basic knowledge of the C language, Bryant and O’Hallaron, two CMU professors, teach how to read and understand compiled code, how to optimize it for better performance, and how to avoid common pitfalls.
This is a hard-core technical book, written by engineers for engineers, in a dense style that is nonetheless accessible and practical. I like the numerous applied problems, each accompanied by a worked-out solution.
&>standalone product; MasteringEngineering (R) does not come packaged with this content. If you would like to purchase both the physical text and MasteringEngineering search for 0134123832 / 9780134123837 Computer Systems: A Programmer's Perspective plus MasteringEngineering with Pearson eText - Access Card Package, 3/e
Package consists of:
013409266X/9780134092669 Computer Systems: A Programmer's Perspective, 3/e
0134071921/9780134071923 MasteringEngineering with Pearson eText -- Standalone Access Card -- for Computer Systems: A Programmer's Perspective, 3/e
MasteringEngineering should only be purchased when required by an instructor.
For courses in Computer Science and Programming
Computer systems: A Programmer's Perspective explains the underlying elements common among all computer…
I started learning cryptography in the early 2000s with books borrowed from my university’s library, and with information I could find online. Since then I’ve practiced cryptography for 15 years in a variety of contexts: as an academic researcher, while working on my PhD; as a cryptography engineer for software and hardware pay-TV systems; as a consultant for private and public sector clients; as a vulnerability researcher in my spare time; as a code auditor for cryptography projects; as a start-up founder in the domain of IoT security; and as CSO (chief security officer) of a fintech start-up. I live in Lausanne, Switzerland, and besides crypto I enjoy literature, rock climbing, and playing classical guitar.
If you want to compose or play music, you need to know some basic music theory: notes, scales, chords, and so on. Likewise, solid cryptography knowledge requires understanding its foundations: concepts such as one-way function, pseudorandom generators, computational hardness, secure encryption, and zero-knowledge proofs. Goldreich’s books are the best starting point for those who want to delve into cryptography theory.
Cryptography is concerned with the conceptualization, definition and construction of computing systems that address security concerns. The design of cryptographic systems must be based on firm foundations. This book presents a rigorous and systematic treatment of the foundational issues: defining cryptographic tasks and solving new cryptographic problems using existing tools. It focuses on the basic mathematical tools: computational difficulty (one-way functions), pseudorandomness and zero-knowledge proofs. The emphasis is on the clarification of fundamental concepts and on demonstrating the feasibility of solving cryptographic problems, rather than on describing ad-hoc approaches. The book is suitable for use in a graduate course on…
It is April 1st, 2038. Day 60 of China's blockade of the rebel island of Taiwan.
The US government has agreed to provide Taiwan with a weapons system so advanced that it can disrupt the balance of power in the region. But what pilot would be crazy enough to run…
My primary interest is in brain function. Because the principal job of
the brain is to process information, it is necessary to define exactly
what information is. For that, there is no substitute for Claude
Shannon’s theory of information. This theory is not only quite
remarkable in its own right, but it is essential for telecoms,
computers, machine learning (and understanding brain function).
I have written ten "tutorial introduction" books, on topics which vary
from quantum mechanics to AI.
In a parallel universe, I am still an Associate Professor at the
University of Sheffield, England.
This is a more comprehensive and mathematically rigorous book than Pierce’s book. For the novice, it should be read-only after first reading Pierce’s more informal text. Due to its vintage, the layout is fairly cramped, but the content is impeccable. At almost 500 pages, it covers a huge amount of material. This was my main reference book on information theory for many years, but it now sits alongside more recent texts, like MacKay’s book (see below). It is also published by Dover, so it is reasonably priced.
Written for an engineering audience, this book has a threefold purpose: (1) to present elements of modern probability theory — discrete, continuous, and stochastic; (2) to present elements of information theory with emphasis on its basic roots in probability theory; and (3) to present elements of coding theory. The emphasis throughout the book is on such basic concepts as sets, the probability measure associated with sets, sample space, random variables, information measure, and capacity. These concepts proceed from set theory to probability theory and then to information and coding theories. No formal prerequisites are required other than the usual undergraduate…