You can translate the content of this page by selecting a language in the select box.
There are a lot of books that can be influential to programmers. But, what is the one book that every programmer should read? This is a question that has been asked by many, and it is still up for debate. However, there are some great contenders for this title. In this blog post, we will discuss three possible books that could be called the most influential book for programmers. So, what are you waiting for? Keep reading to find out more!
- Bjarne Stroustrup – The C++ Programming Language,
- Brian W. Kernighan, Rob Pike – The Practice of Programming,
- Donald Knuth – The Art of Computer Programming,
- Ellen Ullman – Close to the Machine,
- Ellis Horowitz – Fundamentals of Computer Algorithms,
- Eric Raymond – The Art of Unix Programming,
- Gerald M. Weinberg – The Psychology of Computer Programming,
- James Gosling – The Java Programming Language,
- Joel Spolsky – The Best Software Writing I,
- Keith Curtis – After the Software Wars,
- Richard M. Stallman – Free Software, Free Society,
- Richard P. Gabriel – Patterns of Software,
- Richard P. Gabriel – Innovation Happens Elsewhere,
- Code Complete (2nd edition) by Steve McConnell,
- The Pragmatic Programmer,
- Structure and Interpretation of Computer Programs,
- The C Programming Language by Kernighan and Ritchie,
- Introduction to Algorithms by Cormen, Leiserson, Rivest & Stein,
- Design Patterns by the Gang of Four,
- Refactoring: Improving the Design of Existing Code,
- The Mythical Man Month,
- The Art of Computer Programming by Donald Knuth,
- Compilers: Principles, Techniques and Tools by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman,
- Gödel, Escher, Bach by Douglas Hofstadter,
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin,
- Effective C++,
- More Effective C++,
- CODE by Charles Petzold,
- Programming Pearls by Jon Bentley,
- Working Effectively with Legacy Code by Michael C. Feathers,
- Peopleware by Demarco and Lister
- Coders at Work by Peter Seibel,
- Surely You’re Joking, Mr. Feynman!,
- Effective Java 2nd edition,
- Patterns of Enterprise Application Architecture by Martin Fowler,
- The Little Schemer,
- The Seasoned Schemer,
- Why’s (Poignant) Guide to Ruby,
- The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity,
- The Art of Unix Programming,
- Test-Driven Development: By Example by Kent Beck,
- Practices of an Agile Developer,
- Don’t Make Me Think,
- Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin,
- Domain Driven Designs by Eric Evans,
- The Design of Everyday Things by Donald Norman,
- Modern C++ Design by Andrei Alexandrescu,
- Best Software Writing I by Joel Spolsky,
- The Practice of Programming by Kernighan and Pike,
- Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt,
- Software Estimation: Demystifying the Black Art by Steve McConnel,
- The Passionate Programmer (My Job Went To India) by Chad Fowler,
- Hackers: Heroes of the Computer Revolution,
- Algorithms + Data Structures = Programs,
- Writing Solid Code,
- JavaScript – The Good Parts,
- Getting Real by 37 Signals,
- Foundations of Programming by Karl Seguin,
- Computer Graphics: Principles and Practice in C (2nd Edition),
- Thinking in Java by Bruce Eckel,
- The Elements of Computing Systems,
- Refactoring to Patterns by Joshua Kerievsky,
- Modern Operating Systems by Andrew S. Tanenbaum,
- The Annotated Turing,
- Things That Make Us Smart by Donald Norman,
- The Timeless Way of Building by Christopher Alexander,
- The Deadline: A Novel About Project Management by Tom DeMarco,
- The C++ Programming Language (3rd edition) by Stroustrup,
- Patterns of Enterprise Application Architecture,
- Computer Systems – A Programmer’s Perspective,
- Agile Principles, Patterns, and Practices in C# by Robert C. Martin,
- Growing Object-Oriented Software, Guided by Tests,
- Framework Design Guidelines by Brad Abrams,
- Object Thinking by Dr. David West,
- Advanced Programming in the UNIX Environment by W. Richard Stevens,
- Hackers and Painters: Big Ideas from the Computer Age,
- The Soul of a New Machine by Tracy Kidder,
- CLR via C# by Jeffrey Richter,
- The Timeless Way of Building by Christopher Alexander,
- Design Patterns in C# by Steve Metsker,
- Alice in Wonderland by Lewis Carol,
- Zen and the Art of Motorcycle Maintenance by Robert M. Pirsig,
- About Face – The Essentials of Interaction Design,
- Here Comes Everybody: The Power of Organizing Without Organizations by Clay Shirky,
- The Tao of Programming,
- Computational Beauty of Nature,
- Writing Solid Code by Steve Maguire,
- Philip and Alex’s Guide to Web Publishing,
- Object-Oriented Analysis and Design with Applications by Grady Booch,
- Effective Java by Joshua Bloch,
- Computability by N. J. Cutland,
- Masterminds of Programming,
- The Tao Te Ching,
- The Productive Programmer,
- The Art of Deception by Kevin Mitnick,
- The Career Programmer: Guerilla Tactics for an Imperfect World by Christopher Duncan,
- Paradigms of Artificial Intelligence Programming: Case studies in Common Lisp,
- Masters of Doom,
- Pragmatic Unit Testing in C# with NUnit by Andy Hunt and Dave Thomas with Matt Hargett,
- How To Solve It by George Polya,
- The Alchemist by Paulo Coelho,
- Smalltalk-80: The Language and its Implementation,
- Writing Secure Code (2nd Edition) by Michael Howard,
- Introduction to Functional Programming by Philip Wadler and Richard Bird,
- No Bugs! by David Thielen,
- Rework by Jason Freid and DHH,
- JUnit in Action
Source: Wikipedia
Summary: There’s no doubt that books have had a profound influence on society and the advancement of human knowledge. But which book is the most influential for programmers? Some might say it’s The Art of Computer Programming, or The Pragmatic Programmer. But I would argue that the most influential book for programmers is CODE: The Hidden Language of Computer Hardware and Software. In CODE, author Charles Petzold takes you on a journey from the basics of computer hardware to the intricate workings of software. Along the way, you learn how to write code in Assembly language, and gain an understanding of how computers work at a fundamental level. If you’re serious about becoming a programmer, then CODE should be at the top of your reading list!
- 5 Tips Kreatif buat Bikin Portofolio!by Nur Fauziyya (Coding on Medium) on August 19, 2022 at 5:32 am
Let’s build an awesome portfolio!Continue reading on Generation Girl »
- How to manage your time and be productive as a software developerby Belkaid Abdulah (Programming on Medium) on August 19, 2022 at 5:26 am
In this article I'll share with you my experience , and how did I organized my time while learning to codeContinue reading on Medium »
- padding, viewPadding, 그리고 viewInsets에 대해by 우디 (Programming on Medium) on August 19, 2022 at 5:20 am
Flutter는 현재 여러 플랫폼을 지원합니다. 여러 플랫폼에 서비스 출시를 원한다면, 그만큼 다양한 기기에 맞춰 대응할 필요가 있습니다. 즉, 각 장치의 특징이나 기능의 고려가 필요합니다.Continue reading on 팀워크 사생활 블로그 »
- Why python is trending nowadays?by Ekansh Agarwal (Python on Medium) on August 19, 2022 at 5:02 am
If you’re new to programming and looking for an easy way to code, well, you have your answer. Python is the way to commence your journey…Continue reading on Medium »
- Auto Birthday Wisherby Virinchi-Thinks (Python on Medium) on August 19, 2022 at 5:01 am
Hey Curious,Continue reading on Medium »
- Youtube Channels For Full Stack Devby /u/Gagan444 (programming) on August 19, 2022 at 4:56 am
submitted by /u/Gagan444 [link] [comments]
- System Design Practice for a "Nearby Friends" applicationby /u/ItsTheWeeBabySeamus (programming) on August 19, 2022 at 4:54 am
submitted by /u/ItsTheWeeBabySeamus [link] [comments]
- 7 Myths Holding You Back From The Best Career As A Software Developer! Don’t listen to these lies!by Spencer Thomason (Coding on Medium) on August 19, 2022 at 4:47 am
There are a lot of myths out there about software development that are holding people back from becoming software developers. Maybe you…Continue reading on Medium »
- Text Mining文字探勘by Claire yang (Python on Medium) on August 19, 2022 at 4:47 am
近期需要分析資料的關鍵字與關鍵字之間的關聯性,在網路上找到由中央研究院開發的套件(ckiptagger),安裝過程花費了不少力氣(呼~記錄一下)Continue reading on Medium »
- OCR dengan Tesseract + Python (Pytesseract)by mnuralfiansyah (Python on Medium) on August 19, 2022 at 4:41 am
Continue reading on Medium »
- The RSA Cryptosystem Explainedby Dimitri Papaioannou (Python on Medium) on August 19, 2022 at 4:37 am
via Group TheoryContinue reading on Cantor’s Paradise »
- Data Analysis with Python — Data Wrangling — Part 1by Varun Srivatsa (Programming on Medium) on August 19, 2022 at 4:32 am
Data analysis plays a vital role by enabling us to discover useful information from the data, answer questions, & even predict the future…Continue reading on Medium »
- Data Analysis with Python — Data Wrangling — Part 1by Varun Srivatsa (Python on Medium) on August 19, 2022 at 4:32 am
Data analysis plays a vital role by enabling us to discover useful information from the data, answer questions, & even predict the future…Continue reading on Medium »
- Norwich vs Millwall predictions: Attacking contest on the cards in Norfolk | LiveScoreby Awogbade Johnson (Programming on Medium) on August 19, 2022 at 4:28 am
Norwich delivered maximum points at the fourth time of asking by winning 2–1 at home to Huddersfield on Tuesday and they will be looking…Continue reading on Medium »
- Carbon language vs Rust comparison - A beginner guideby /u/tipseason (programming) on August 19, 2022 at 4:18 am
submitted by /u/tipseason [link] [comments]
- Github Copilotby Diego Perez (Programming on Medium) on August 19, 2022 at 4:14 am
Github Copilot is the new automated programming assistant, a system capable of generating code autonomously to help developers in the code…Continue reading on Medium »
- Here's a CS project that I made this summer because I was fed up with how much time I wasted last summer doing nothing productive. The project visualizes the "field of view" of a point with surrounding obstacles. I hope you like it as much as I liked making it.by /u/Malaa2002 (programming) on August 19, 2022 at 4:06 am
submitted by /u/Malaa2002 [link] [comments]
- Quiz - Are you ready for a Promotion? I created this simple and anonymous quiz for fellow developers. What do you folks think?by /u/shannan2 (programming) on August 19, 2022 at 3:59 am
submitted by /u/shannan2 [link] [comments]
- Software Project Management Are About To Take A Huge Turn…by FadinGeek (Programming on Medium) on August 19, 2022 at 3:37 am
I’m certain that the way we manage projects right now is not the way we would manage projects in even the recent future. Things are…Continue reading on Medium »
- flopt: powerful optimization modeling toolby Inarizuuuushi (Python on Medium) on August 19, 2022 at 3:36 am
In this post, I introduce the basic usage of the powerful optimization modeling tool flopt and some specific examples of its features. (I…Continue reading on Medium »
- Building a Mix Between YouTube and Visual Studio Code - Convert Code Tutorials to Videos.by /u/gryffindorite (programming) on August 19, 2022 at 3:35 am
submitted by /u/gryffindorite [link] [comments]
- Continuous Integration — CircleCIby Matheus Serafim (Programming on Medium) on August 19, 2022 at 3:33 am
Here we have an overview of the continuous integration culture using CircleCI as the main stack. You can see the full sample of the…Continue reading on Medium »
- Automating creation of Plots for data analysis using Pandas and Juypter Notebookby Santosh J (Python on Medium) on August 19, 2022 at 3:33 am
Hello, this post is a continuation and please check out the previous tutorial for automating files for creation of datasets here.Continue reading on Medium »
- This IBM security article will implement a simple authentication mechanism to demonstrate how developers can write their own Java based authentication mechanism.by /u/Glad_Living3908 (programming) on August 19, 2022 at 3:28 am
submitted by /u/Glad_Living3908 [link] [comments]
- 3 Key Python Features that everyone should useby Viraj Khanna (Python on Medium) on August 19, 2022 at 3:02 am
Continue reading on Medium »
- AWS Key Termsby Lance Watanabe (Programming on Medium) on August 19, 2022 at 2:58 am
How is AWS structured: AWS has servers throughout the world. These servers are categorized into regions, VPC’s, and availability zones.Continue reading on Medium »
- LeetCode 104: Maximum Depth of Binary Tree using recursive way (solution with images)by Alex Murphy (Python on Medium) on August 19, 2022 at 2:36 am
Link: → https://leetcode.com/problems/maximum-depth-of-binary-tree/Continue reading on Medium »
- End Module 2by Chris Henry (Programming on Medium) on August 19, 2022 at 2:23 am
Talk about something you learned this week.Continue reading on Medium »
- End Module 2by Chris Henry (Coding on Medium) on August 19, 2022 at 2:23 am
Talk about something you learned this week.Continue reading on Medium »
- Moonhack preview — sssh!by Code Club Australia (Coding on Medium) on August 19, 2022 at 2:19 am
Here at Moonhack Mission Control there is excitement buzzing through the air for this year’s challenge. We have created 6 brand new…Continue reading on Code Club Australia »
- [LeetCode] — Maximum Units on a Truckby Jinwon Park (Programming on Medium) on August 19, 2022 at 2:17 am
This question is from LeetCode 1710.Continue reading on Medium »
- 4 Ways to Style React Elements.by Thomas Sentre (Coding on Medium) on August 19, 2022 at 1:55 am
How to Style React Elements ?Continue reading on Bits and Pieces »
- Brilliant turing award winner interview -- it was a pleasure to hear this great mind talkby /u/deephl (programming) on August 19, 2022 at 1:19 am
submitted by /u/deephl [link] [comments]
- Things that I would’ve to know as a beginner programmerby Hanane Yacoubi (Coding on Medium) on August 19, 2022 at 12:21 am
Hi, I’m Hanane, 21 years old. I’ve started my journey as a software developer for 2 years now and on my way to becoming a software…Continue reading on Medium »
- Coming Soon: Reddit Developer Platformby /u/just_looking_aroun (programming) on August 18, 2022 at 11:41 pm
submitted by /u/just_looking_aroun [link] [comments]
- Why You Shouldn’t Use Scalaby Manpreet Singh (Coding on Medium) on August 18, 2022 at 11:28 pm
Welcome back! Scala is a very popular programming language that many coders use, so, let’s take a look at some reasons why you shouldn’t…Continue reading on Medium »
- Teams, Zoom and Meeting Overload Are Slowing Down Development and Disrupting Developersby /u/DynamicsHosk (programming) on August 18, 2022 at 10:50 pm
submitted by /u/DynamicsHosk [link] [comments]
- Work Smarterby Jeremey Hansen (Coding on Medium) on August 18, 2022 at 10:29 pm
If you’re like me, then you are always trying to find a way to make the things you do easier. What’s the saying? Something about working…Continue reading on Medium »
- Build a WebAssembly Language for Fun and Profitby /u/UberAtlas (programming) on August 18, 2022 at 10:18 pm
submitted by /u/UberAtlas [link] [comments]
- Lessons (re)Learnedby /u/fagnerbrack (programming) on August 18, 2022 at 10:06 pm
submitted by /u/fagnerbrack [link] [comments]
- Browser extension Surfingkeys, which implements vim-style shortcuts in browsers, appears to be bundling a search hijacker. This does not appear in sourceby /u/Paradox (programming) on August 18, 2022 at 9:25 pm
submitted by /u/Paradox [link] [comments]
- The Best Python Packages You Need To Knowby Manpreet Singh (Coding on Medium) on August 18, 2022 at 9:22 pm
Welcome back! Python is an awesome programming language that I love to use, if you’re new to Python, check out the link below to learn…Continue reading on Medium »
- Initial Commitby Ahmed AlMoselhy (Coding on Medium) on August 18, 2022 at 9:18 pm
HelloContinue reading on Medium »
- We need young programmers; we need old programmersby /u/feross (programming) on August 18, 2022 at 8:01 pm
submitted by /u/feross [link] [comments]
- Removing HTTP/2 Server Push from Chromeby /u/feross (programming) on August 18, 2022 at 7:46 pm
submitted by /u/feross [link] [comments]
- Lossy Image Compression with Dithering (in Python)by /u/strikingLoo (programming) on August 18, 2022 at 7:18 pm
submitted by /u/strikingLoo [link] [comments]
- Eteria AI - API for BLOOM 176B Language Modelby /u/brthornbury (programming) on August 18, 2022 at 6:21 pm
submitted by /u/brthornbury [link] [comments]
- Using :has() as a CSS Parent Selector and much moreby /u/feross (programming) on August 18, 2022 at 4:47 pm
submitted by /u/feross [link] [comments]
- Julia 1.8by /u/iamkeyur (programming) on August 18, 2022 at 3:07 pm
submitted by /u/iamkeyur [link] [comments]
- It wasn't for nothingby /u/iamkeyur (programming) on August 18, 2022 at 3:07 pm
submitted by /u/iamkeyur [link] [comments]
- I have complicated feelings about TDDby /u/snikolaev (programming) on August 18, 2022 at 3:01 pm
submitted by /u/snikolaev [link] [comments]
- A source-level walkthrough of an AI-based code searchby /u/beyang (programming) on August 18, 2022 at 2:56 pm
submitted by /u/beyang [link] [comments]
- After two years of self-studying programming, I made an AI-powered essay writing tool/website that helps you organize ideas and craft better argumentsby /u/gearboost (programming) on August 18, 2022 at 2:08 pm
submitted by /u/gearboost [link] [comments]
- The Advanced Guide To Lambda Expression In C++ Softwareby /u/yimmasabi (programming) on August 18, 2022 at 11:32 am
submitted by /u/yimmasabi [link] [comments]
- Agile Projects Have Become Waterfall Projects With Sprintsby /u/DynamicsHosk (programming) on August 17, 2022 at 9:33 pm
submitted by /u/DynamicsHosk [link] [comments]