What is the single most influential book every Programmers should read
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

What are the concepts every Java C# C++ Python Rust programmer must know?
Ok…I think this is one of the most important questions to answer. According to the my personal experience as a Programmer, I would say you must learn following 5 universal core concepts of programming to become a successful Java programmer.
(1) Mastering the fundamentals of Java programming Language – This is the most important skill that you must learn to become successful java programmer. You must master the fundamentals of the language, specially the areas like OOP, Collections, Generics, Concurrency, I/O, Stings, Exception handling, Inner Classes and JVM architecture.
Recommended readings are OCA Java SE 8 Programmer by by Kathy Sierra and Bert Bates (First read Head First Java if you are a new comer ) and Effective Java by Joshua Bloch.
(2) Data Structures and Algorithms – Programming languages are basically just a tool to solve problems. Problems generally has data to process on to make some decisions and we have to build a procedure to solve that specific problem domain. In any real life complexity of the problem domain and the data we have to handle would be very large. That’s why it is essential to knowing basic data structures like Arrays, Linked Lists, Stacks, Queues, Trees, Heap, Dictionaries ,Hash Tables and Graphs and also basic algorithms like Searching, Sorting, Hashing, Graph algorithms, Greedy algorithms and Dynamic Programming.
Recommended readings are Data Structures & Algorithms in Java by Robert Lafore (Beginner) , Algorithms Robert Sedgewick (intermediate) and Introduction to Algorithms-MIT press by CLRS (Advanced).
(3) Design Patterns – Design patterns are general reusable solution to a commonly occurring problem within a given context in software design and they are absolutely crucial as hard core Java Programmer. If you don’t use design patterns you will write much more code, it will be buggy and hard to understand and refactor, not to mention untestable and they are really great way for communicating your intent very quickly with other programmers.
Recommended readings are Head First Design Patterns Elisabeth Freeman and Kathy Sierra and Design Patterns: Elements of Reusable by Gang of four.
(4) Programming Best Practices – Programming is not only about learning and writing code. Code readability is a universal subject in the world of computer programming. It helps standardize products and help reduce future maintenance cost. Best practices helps you, as a programmer to think differently and improves problem solving attitude within you. A simple program can be written in many ways if given to multiple developers. Thus the need to best practices come into picture and every programmer must aware about these things.
Recommended readings are Clean Code by Robert Cecil Martin and Code Complete by Steve McConnell.
(5) Testing and Debugging (T&D) – As you know about the writing the code for specific problem domain, you have to learn how to test that code snippet and debug it when it is needed. Some programmers skip their unit testing or other testing methodology part and leave it to QA guys. That will lead to delivering 80% bugs hiding in your code to the QA team and reduce the productivity and risking and pushing your project boundaries to failure. When a miss behavior or bug occurred within your code when the testing phase. It is essential to know about the debugging techniques to identify that bug and its root cause.
If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.

Recommended readings are Debugging by David Agans and A Friendly Introduction to Software Testing by Bill Laboon.
I hope these instructions will help you to become a successful Java Programmer. Here i am explain only the universal core concepts that you must learn as successful programmer. I am not mentioning any technologies that Java programmer must know such as Spring, Hibernate, Micro-Servicers and Build tools, because that can be change according to the problem domain or environment that you are currently working on…..Happy Coding!
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!
Programming Breaking News
- Lila Scavenger Hunt: A scenic, guided tour of the Lichess.org codebaseby /u/fz0718 (programming) on March 26, 2023 at 10:03 pm
submitted by /u/fz0718 [link] [comments]
- Procedural map generation in C++ — Part 2: A new hope with cellular automata and GPT4by /u/david-delassus (programming) on March 26, 2023 at 9:12 pm
submitted by /u/david-delassus [link] [comments]
- You can let ChatGPT run wild on random websites and do what it feels likeby /u/Independent_Fun1007 (programming) on March 26, 2023 at 8:36 pm
submitted by /u/Independent_Fun1007 [link] [comments]
- Software is not defined by the language it's written inby /u/simon_o (programming) on March 26, 2023 at 8:19 pm
submitted by /u/simon_o [link] [comments]
- Implementing Google, GitHub, and Custom Credential Login with Next.js and NextAuth.jsby /u/ritavdas (programming) on March 26, 2023 at 7:35 pm
submitted by /u/ritavdas [link] [comments]
- 10x Editor Version 1.0 Releasedby /u/slynch8 (programming) on March 26, 2023 at 7:31 pm
submitted by /u/slynch8 [link] [comments]
- Toward Disposable Softwareby /u/NiloCKM (programming) on March 26, 2023 at 7:30 pm
submitted by /u/NiloCKM [link] [comments]
- How we reduced our AWS bill by 7 figuresby /u/Witty-Play9499 (programming) on March 26, 2023 at 6:57 pm
submitted by /u/Witty-Play9499 [link] [comments]
- My evaluation of the Scaleway Cloud providerby /u/nfrankel (programming) on March 26, 2023 at 6:45 pm
submitted by /u/nfrankel [link] [comments]
- Cigna has built a system that allows its doctors to instantly reject batches of claims on medical grounds without opening the patient fileby /u/-grok (programming) on March 26, 2023 at 5:46 pm
submitted by /u/-grok [link] [comments]
- Using ChatGPT plugins with LLaMAby /u/balthierwings (programming) on March 26, 2023 at 3:34 pm
submitted by /u/balthierwings [link] [comments]
- Richard Stallman - How I do my Computingby /u/Witty-Play9499 (programming) on March 26, 2023 at 3:13 pm
submitted by /u/Witty-Play9499 [link] [comments]
- "Developers do nothing good after 45 hours of work." Solid point to remember from the head developer at Netflix given that people are being pressed to work even longer now. Stems from a larger discussion on stupid things orgs do to kill productivity.by /u/Peblooth (programming) on March 26, 2023 at 3:11 pm
submitted by /u/Peblooth [link] [comments]
- Understanding the Fundamentals of JavaScript: A Comprehensive Guideby Sanjam Singh (Programming on Medium) on March 26, 2023 at 1:58 pm
JavaScript is a versatile programming language that allows developers to build interactive and dynamic web pages. It is one of the three…Continue reading on Medium »
- Unleash the Power of JavaScriptby Ryan Flynn (Falcon) (Coding on Medium) on March 26, 2023 at 1:55 pm
Your Ultimate Guide to Mastering Web WondersContinue reading on Medium »
- The Journeyby Uc David (Programming on Medium) on March 26, 2023 at 1:54 pm
Okay.Continue reading on Medium »
- [The Engineering Room Ep. 16] Kent Beck On The FIRST Testing Frameworks, TDD, Waterfall & MOREby /u/Euphoricus (programming) on March 26, 2023 at 1:51 pm
submitted by /u/Euphoricus [link] [comments]
- 이펙티브 자바 — 아이템 64. 객체를 그들의 인터페이스로 참조하라 정리by ECHO (Programming on Medium) on March 26, 2023 at 1:46 pm
모든 것을 인터페이스로..Continue reading on Medium »
- Practical Guide: How to Build a Web Scraper with Laravel Actionsby Hendrik Prinsloo (Programming on Medium) on March 26, 2023 at 1:46 pm
In this walkthrough, we’ll build a simple web scraper from scratchContinue reading on Medium »
- 5 Things I Wish I Knew When I’m A Junior Developersby Zorba Jobs Wong (Coding on Medium) on March 26, 2023 at 1:45 pm
TL;DR - Remember and follow your team’s conventions. It’ll save you lot of time. - Focus on fundamentals over trends - Learn Outside of…Continue reading on Medium »
- My one-month push_swap journey: explore an easily understand and efficient algorithmby YYBer (Programming on Medium) on March 26, 2023 at 1:44 pm
I decided to write an article for push_swap to commemorate the confusion, frustration, growth and exhilaration I experienced this month.Continue reading on Medium »
- How to design search autocompletion using plain Javaby /u/willis7747 (programming) on March 26, 2023 at 1:36 pm
submitted by /u/willis7747 [link] [comments]
- Create Your First Blender Addonby Kent Edoloverio (Programming on Medium) on March 26, 2023 at 1:36 pm
Blender is a popular 3D modeling and animation software that enables creative young people to create visually stunning animations and…Continue reading on Medium »
- Getting Started with Tag Helpers in ASP.NET Blazor: A Beginner’s Guideby Amelia Gherdan (Programming on Medium) on March 26, 2023 at 1:32 pm
Tag Helpers are a key feature of ASP.NET Core, a popular web application development framework from Microsoft.Continue reading on Medium »
- ChatGPT Plugins : An Introductionby Meherban Singh (Programming on Medium) on March 26, 2023 at 1:29 pm
What is ChatGPT ?Continue reading on Medium »
- Applying Calibration Techniques to Improve Probabilistic Predictions in Machine Learning Modelsby Sahel Eskandar (Python on Medium) on March 26, 2023 at 1:29 pm
Calibration is a crucial step in many machine learning applications to ensure that the predicted probabilities of a classifier accurately…Continue reading on Medium »
- God Objectby Majid Ahmaditabar (Programming on Medium) on March 26, 2023 at 1:27 pm
In object oriented programming God object or God class and sometime omniscient or all-knowing object is an anti-pattern that references a…Continue reading on Medium »
- Automatice la actualizacion de precios de productos con Python, VSC y ChatGPT (3/3)by Franciscofurey (Python on Medium) on March 26, 2023 at 1:24 pm
En el 1/3 post de esta serie de tres publicaciones, hablé sobre por qué, para mí, gestionar un marketplace B2B con una gran cantidad de…Continue reading on Medium »
- Rat in the Mazeby Sankalp Salve (Coding on Medium) on March 26, 2023 at 1:22 pm
The Rat in a Maze problem is a classic problem in computer science that involves finding a path from a starting point to a destination…Continue reading on Medium »
- 9 Tools Programmerby Barongtrans.my.id (Programming on Medium) on March 26, 2023 at 1:20 pm
Topik Terkait APLIKASI DEBUGGING TOOLS DESKTOP IDE LAPTOP PERANGKAT LUNAK PROGRAMMER TEKNOLOGI TIPS & TRIK TIPS DAN TRIK VCS VMContinue reading on Medium »
- Into the modern coder cockpit: my take on Github Copilotby Loris Occhipinti (Coding on Medium) on March 26, 2023 at 1:18 pm
Despite covering some neat ChatGPT feats a few months ago, I didn’t take the next logical step to try Copilot, Github’s AI coding support…Continue reading on Medium »
- Welcome to the Academics Field Guide to Writing Codeby Nathan Laundry (Coding on Medium) on March 26, 2023 at 1:17 pm
“Nathan, I’m a Computer Scientist, not a Software Engineer” — a retort by one of my favourite professors as I roasted his illegible codeContinue reading on The Academics Field Guide to Coding »
- Unleash unlimited functionality with ChatGPT’s new plugins and web connectivityby Azzwad (Coding on Medium) on March 26, 2023 at 1:16 pm
The Ultimate Chatbot Upgrade: ChatGPT’s Mind-Blowing New FeatureContinue reading on Generative AI »
- Cartoonize image using image processing technique , opencv, python and flaskby Abir Bouziri (Python on Medium) on March 26, 2023 at 1:12 pm
Introduction:Continue reading on Medium »
- Python vs R in Data Science: Which one is better?by Etiris Magazine (Python on Medium) on March 26, 2023 at 1:10 pm
If you’re starting out in the field of data science, or even if you’re an experienced practitioner, you’ve likely come across the debate…Continue reading on Medium »
- Starlite updates March ‘22by Janek Nouvertné (Python on Medium) on March 26, 2023 at 1:10 pm
Continue reading on Starlite Framework »
- What is ROAS for Mobile Apps?by Appflow.ai Analytics (Coding on Medium) on March 26, 2023 at 1:01 pm
ROAS is an essential measurement of performance marketing. It is a KPI (key performance indicator) that assesses the performance of paid…Continue reading on Geek Culture »
- Caching in Databricks Explainedby Eduard Popa (Python on Medium) on March 26, 2023 at 12:55 pm
When learning about Databricks optimization, you have probably seen many articles, videos and documentation pages talking about itContinue reading on Medium »
- China Guess! A geoguessr-style geography gameby Matthew McKeever (Coding on Medium) on March 26, 2023 at 12:54 pm
A China geography game for amusement and educationContinue reading on Medium »
- Developing a Customizable Interactive Storytelling System using Natural Language Processing and…by Waleed Mousa (Python on Medium) on March 26, 2023 at 12:52 pm
Hello and Welcome to this tutorial on building an interactive storytelling system with speech synthesis in Python!Continue reading on Medium »
- Regular Expressions in Pythonby Anand Rathore (Coding on Medium) on March 26, 2023 at 12:47 pm
1. What is a Regular Expression?Continue reading on Medium »
- Regular Expressions in Pythonby Anand Rathore (Python on Medium) on March 26, 2023 at 12:47 pm
1. What is a Regular Expression?Continue reading on Medium »
- Python Docstrings #Day 22by Ironman (Coding on Medium) on March 26, 2023 at 12:42 pm
Docstrings in pythonContinue reading on Medium »
- Python Docstrings #Day 22by Ironman (Python on Medium) on March 26, 2023 at 12:42 pm
Docstrings in pythonContinue reading on Medium »
- Summarize any PDF in seconds with this Python script!by Arjun Gullbadhar (Python on Medium) on March 26, 2023 at 12:31 pm
Have you ever had to read a lengthy PDF and wished you could just get a quick summary of its main points? Well, now you can! In this…Continue reading on Geek Culture »
- Ban 1+N in Djangoby /u/hackflow (programming) on March 26, 2023 at 12:07 pm
submitted by /u/hackflow [link] [comments]
- TypeScript vs JSDoc JavaScriptby /u/johnny_reilly (programming) on March 26, 2023 at 12:00 pm
submitted by /u/johnny_reilly [link] [comments]
- And Yet It Understandsby /u/KaeruCT (programming) on March 26, 2023 at 10:57 am
submitted by /u/KaeruCT [link] [comments]
- Implementing Algorithms from Research Papers - NASA ICER Image Compression Example in Python (inspired by r/therealoranges's post)by /u/YoTGDev (programming) on March 26, 2023 at 6:06 am
submitted by /u/YoTGDev [link] [comments]
- Proxmox doesn't handle daylight savings time, hangs systemd and breaks systemsby /u/LeeHide (programming) on March 26, 2023 at 12:47 am
submitted by /u/LeeHide [link] [comments]
- Distributed Software Systems at scaleby /u/minaandrawos (programming) on March 26, 2023 at 12:40 am
submitted by /u/minaandrawos [link] [comments]
- Writing a 3D game engine like it's 1995 againby /u/r_retrohacking_mod2 (programming) on March 25, 2023 at 9:45 pm
submitted by /u/r_retrohacking_mod2 [link] [comments]
- I made a deterministic ant simulator and built a competitive daily puzzle game around it. It's all open sourced.by /u/AntGameIO (programming) on March 25, 2023 at 4:22 pm
submitted by /u/AntGameIO [link] [comments]
- Sentimental Versioningby /u/mooreds (programming) on March 25, 2023 at 1:27 pm
submitted by /u/mooreds [link] [comments]
- Gordon Moore, Intel Co-Founder, Dies at 94by /u/unixbhaskar (programming) on March 25, 2023 at 1:05 am
submitted by /u/unixbhaskar [link] [comments]