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.
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
- Sun Cash loan customer care helpline number -//_➒➒⓪➎➊➑➊➌➋➊-// 9905181321 -//_ 8081776760 call now.by Hdvjgh (Programming on Medium) on December 8, 2023 at 7:12 am
Sun Cash loan customer care helpline number -//_➒➒⓪➎➊➑➊➌➋➊-// 9905181321 -//_ 8081776760 call now. Continue reading on Medium »
- Sun Cash loan customer care helpline number -//_➒➒⓪➎➊➑➊➌➋➊-// 9905181321 -//_ 8081776760 call now.by Hdvjgh (Programming on Medium) on December 8, 2023 at 7:11 am
Sun Cash loan customer care helpline number -//_➒➒⓪➎➊➑➊➌➋➊-// 9905181321 -//_ 8081776760 call now. Continue reading on Medium »
- Top 70+ Python Project Ideas: Beginner to Expert [With Free Source Code]by JOKEN VILLANUEVA (Python on Medium) on December 8, 2023 at 7:01 am
The Python projects ideas we offer are designed to help students learn how to create their own applications.Continue reading on Medium »
- Unleashing the Power of React Custom Hooksby Gec (Coding on Medium) on December 8, 2023 at 7:01 am
Welcome to the exciting world of React custom hooks! If you’ve been developing in React for a while, you’ve likely come across the term…Continue reading on Medium »
- Deciphering Glyph: Safer, Not Laterby /u/Pump1IT (programming) on December 8, 2023 at 6:59 am
submitted by /u/Pump1IT [link] [comments]
- Python for Big Data: Strategies for Efficient Data Handlingby Python Fundamentals (Python on Medium) on December 8, 2023 at 6:59 am
As the scale of data continues to grow exponentially, handling big data efficiently becomes paramount for data scientists and engineers…Continue reading on Medium »
- Mastering Django: A Step-by-Step Tutorial for Creating a Reactive ToDo Listby harshvardhanonweb (Python on Medium) on December 8, 2023 at 6:52 am
Building a Reactive ToDo Application in DjangoContinue reading on Medium »
- Mastering Django: A Step-by-Step Tutorial for Creating a Reactive ToDo Listby harshvardhanonweb (Coding on Medium) on December 8, 2023 at 6:52 am
Building a Reactive ToDo Application in DjangoContinue reading on Medium »
- Mastering Django: A Step-by-Step Tutorial for Creating a Reactive ToDo Listby harshvardhanonweb (Programming on Medium) on December 8, 2023 at 6:52 am
Building a Reactive ToDo Application in DjangoContinue reading on Medium »
- PyQt5: Oscilloscope-Like Dynamic Line Chartby Yu-Cheng Kuo (Python on Medium) on December 8, 2023 at 6:51 am
Draw an oscilloscope-like dynamic line chart/graph by PyQt5.QtChartContinue reading on Medium »
- Top 10 Highest-Paying Python Engineer Jobs in 2024by crawsecurity (Python on Medium) on December 8, 2023 at 6:50 am
IntroductionContinue reading on Medium »
- What database management systems work best with Python for a social media platform’s data storage?by Brecht Corbeel (Python on Medium) on December 8, 2023 at 6:38 am
Optimizing Database Systems for Social Media Platforms with PythonContinue reading on Medium »
- Lazy money manager loan CusTomer Care Helpline Number/❼❾❼❽❻❶❽❾❼❹//™7978618974-//®™7978618974√√ call…by Go Guj (Python on Medium) on December 8, 2023 at 6:37 am
Continue reading on Medium »
- CURD App in Djangoby Awinash Goswami (Python on Medium) on December 8, 2023 at 6:37 am
In this post, we will learn about CURD operations in Django. We will make a simple app so that we can understand basic flow and structure…Continue reading on Medium »
- Unveiling the Magic of MVC Architecture in Web Developmentby Anand Raj T (Coding on Medium) on December 8, 2023 at 6:35 am
Continue reading on Medium »
- Setting Up Python 3.9 on centos7: A Quick Guideby Vivek Pemawat (Python on Medium) on December 8, 2023 at 6:26 am
Enable EPEL Repository (Extra Packages for Enterprise Linux):Continue reading on Medium »
- Most people Don’t know about these 10 Online Business Ideas For 2023by Mashoda Shah (Programming on Medium) on December 8, 2023 at 6:25 am
E-commerce data indicate that e-commerce has grown impressively in the last few years. In 2021, retail sales accounted for about 19% of…Continue reading on Medium »
- Kite money manager loan customer care helpline number -//_➒➒⓪➎➊➑➊➌➋➊-// 9905181321 -//_ 8081776760…by Rahul Kumar 687 (Programming on Medium) on December 8, 2023 at 6:25 am
Kite money manager loan customer care helpline number -//_➒➒⓪➎➊➑➊➌➋➊-// 9905181321 -//_ 8081776760 call now. Continue reading on Medium »
- Leetcode’s Top 15 Algorithms & Their Common Problemsby Bao Tram Duong (Coding on Medium) on December 8, 2023 at 6:24 am
LeetCode patterns refer to common techniques or approaches used to solve programming problems on the LeetCode platform. While there isn’t…Continue reading on Medium »
- Leetcode’s Top 15 Algorithms & Their Common Problemsby Bao Tram Duong (Python on Medium) on December 8, 2023 at 6:24 am
LeetCode patterns refer to common techniques or approaches used to solve programming problems on the LeetCode platform. While there isn’t…Continue reading on Medium »
- 10 ChatGPT Prompts Every Coder Should Have in Their Arsenalby Enigma of the Stack (Coding on Medium) on December 8, 2023 at 6:21 am
Guiding You Towards Excellence in ProgrammingContinue reading on Medium »
- 10 ChatGPT Prompts Every Coder Should Have in Their Arsenalby Enigma of the Stack (Programming on Medium) on December 8, 2023 at 6:21 am
Guiding You Towards Excellence in ProgrammingContinue reading on Medium »
- Lazy Money Manager Loan CusTomer Care Helpline Number/➐⓪➏①➊⓪➐⓪➋③/ 7870592408 // 8102301568 -/ Call…by Pooja kumari (Coding on Medium) on December 8, 2023 at 6:20 am
Photo by Dylan Shaw on UnsplashContinue reading on Medium »
- Lazy Money Manager Loan CusTomer Care Helpline Number/➐⓪➏①➊⓪➐⓪➋③/ 7870592408 // 8102301568 -/ Call…by Pooja kumari (Coding on Medium) on December 8, 2023 at 6:18 am
Photo by Marek Piwnicki on UnsplashContinue reading on Medium »
- 3 Ways to Generate Synthetic Training Data for AI/Machine Learning Projectsby Rachel Tsun (Programming on Medium) on December 8, 2023 at 6:16 am
Kickstart your AI/ML projects with confidence by harnessing the power of synthetic data.Continue reading on Stackademic »
- Front-end Code Duplication Detectionby Xiuer Old (Coding on Medium) on December 8, 2023 at 6:16 am
In front-end development, code duplication is a common problem.Continue reading on JavaScript in Plain English »
- Front-end Code Duplication Detectionby Xiuer Old (Programming on Medium) on December 8, 2023 at 6:16 am
In front-end development, code duplication is a common problem.Continue reading on JavaScript in Plain English »
- Lazy Money Manager Loan CusTomer Care Helpline Number/➐⓪➏①➊⓪➐⓪➋③/ 7870592408 // 8102301568 -/ Call…by Pooja kumari (Coding on Medium) on December 8, 2023 at 6:16 am
Photo by Vino Li on UnsplashContinue reading on Medium »
- Lazy Money Manager Loan CusTomer Care Helpline Number/➐⓪➏①➊⓪➐⓪➋③/ 7870592408 // 8102301568 -/ Call…by Pooja kumari (Coding on Medium) on December 8, 2023 at 6:14 am
Photo by Shubham Dhage on UnsplashContinue reading on Medium »
- شماره خاله تهران0919.562.0364by شماره خاله 09196345178 (Programming on Medium) on December 8, 2023 at 6:11 am
Continue reading on Medium »
- Meski sudah dilapisi beton, Jalan Darma Bakti Sigunggung, Pekanbaru, Riau masih banjir saat diguyur…by rusdi manulang (Programming on Medium) on December 8, 2023 at 6:08 am
Banjir Jalan Darma Bakti Sigunggung Pekanbaru Belum TeratasiContinue reading on Medium »
- Short animated video on RPC and gRPCby /u/Healthy-Training-759 (programming) on December 8, 2023 at 1:51 am
submitted by /u/Healthy-Training-759 [link] [comments]
- Patterns for Reactivity with Modern Vanilla JavaScriptby /u/stronghup (programming) on December 8, 2023 at 12:19 am
submitted by /u/stronghup [link] [comments]
- Release Notes for Safari Technology Preview 184by /u/feross (programming) on December 8, 2023 at 12:16 am
submitted by /u/feross [link] [comments]
- Post mortem: our outage took 124 seconds from you, here's 378 backby /u/fosterfriendship (programming) on December 8, 2023 at 12:16 am
submitted by /u/fosterfriendship [link] [comments]
- eventmodelling.orgby /u/fagnerbrack (programming) on December 8, 2023 at 12:08 am
submitted by /u/fagnerbrack [link] [comments]
- Every Git Command I Use (Cheatsheet)by /u/sinani206 (programming) on December 7, 2023 at 11:55 pm
submitted by /u/sinani206 [link] [comments]
- Open Automation projectby /u/QuantumMo0se (programming) on December 7, 2023 at 9:01 pm
Hey fellow scientists, I thought some of yall may find this interesting. Its a little project I started for a sort of modular automation system. Feel free to branch it, fork it or send pull requests 😀 At the moment all automation is based on image/script pairs. The first big addition I'd like to make is to add schedule/script state/script automation as well. submitted by /u/QuantumMo0se [link] [comments]
- JetBrains AI Service and In-IDE AI Assistantby /u/stronghup (programming) on December 7, 2023 at 8:55 pm
submitted by /u/stronghup [link] [comments]
- flex-prompt: a flexible prompt rendering engine that ensures you'll never exceed your LLM's context length againby /u/queerviolet (programming) on December 7, 2023 at 8:51 pm
submitted by /u/queerviolet [link] [comments]
- Hack For Good: $5,000 to Toys for Tots on your behalf - WebAssembly Hackathonby /u/nilslice (programming) on December 7, 2023 at 7:50 pm
submitted by /u/nilslice [link] [comments]
- You are never taught how to build quality softwareby /u/workflow91 (programming) on December 7, 2023 at 7:01 pm
submitted by /u/workflow91 [link] [comments]
- Patterns for Reactivity with Modern Vanilla JavaScriptby /u/fagnerbrack (programming) on December 7, 2023 at 6:01 pm
submitted by /u/fagnerbrack [link] [comments]
- The Standard Webhooks specificationby /u/SvixKen (programming) on December 7, 2023 at 5:32 pm
submitted by /u/SvixKen [link] [comments]
- Reverse engineering the barrel shifter circuit on the Intel 386 processor dieby /u/ketralnis (programming) on December 7, 2023 at 5:28 pm
submitted by /u/ketralnis [link] [comments]
- The Shunting-Yard Algorithm for arithmetic parsingby /u/ketralnis (programming) on December 7, 2023 at 5:27 pm
submitted by /u/ketralnis [link] [comments]
- CPython Dynamic Dispatch Internals: What Happens When You do `a + b`?by /u/ketralnis (programming) on December 7, 2023 at 5:25 pm
submitted by /u/ketralnis [link] [comments]
- DOD Presentation: Why Both C-Suite Executives and Technical Experts Need to Take Memory Safe Coding Seriously [pdf]by /u/ketralnis (programming) on December 7, 2023 at 5:25 pm
submitted by /u/ketralnis [link] [comments]
- Efficient Parallelization of an Ubiquitous Sequential Computationby /u/ketralnis (programming) on December 7, 2023 at 5:18 pm
submitted by /u/ketralnis [link] [comments]
- Learn SVG with 25 examples – How to code images in HTMLby /u/ketralnis (programming) on December 7, 2023 at 5:17 pm
submitted by /u/ketralnis [link] [comments]
- abracadabra: How does Shazam work? - Cameron MacLeodby /u/BrewedDoritos (programming) on December 7, 2023 at 4:37 pm
submitted by /u/BrewedDoritos [link] [comments]
- On the Importance of RFCs in Programmingby /u/matijash (programming) on December 7, 2023 at 3:07 pm
submitted by /u/matijash [link] [comments]
- Maglev - V8’s Fastest Optimizing JITby /u/amalinovic (programming) on December 7, 2023 at 12:47 pm
submitted by /u/amalinovic [link] [comments]
- Death by a thousand microservicesby /u/fagnerbrack (programming) on December 7, 2023 at 9:07 am
submitted by /u/fagnerbrack [link] [comments]
- Are your engineering “best practices” just developer dogmas?by /u/shift_devs (programming) on December 6, 2023 at 2:36 pm
submitted by /u/shift_devs [link] [comments]
- [META] The future of r/programmingby /u/ketralnis (programming) on October 9, 2023 at 4:03 pm
Hello fellow programs! tl;dr what should r/programming's rules be? And also a call for additional mods. We'll leave this stickied for a few days to gather feedback. Here are the broad categories of content that we see, along with whether they are currently allowed. ✅ means that it's currently allowed, 🚫 means that it's not currently allowed, ⚠️ means that we leave it up if it is already popular but if we catch it young in its life we do try to remove it early. ✅ Actual programming content. They probably have actual code in them. Language or library writeups, papers, technology descriptions. How an allocator works. How my new fancy allocator I just wrote works. How our startup built our Frobnicator, rocket ship emoji. For many years this was the only category of allowed content. ✅ Programming news. ChatGPT can write code. A big new CVE just dropped. Curl 8.01 released now with Coffee over IP support. ✅ Programmer career content. How to become a Staff engineer in 30 days. Habits of the best engineering managers. How to deal with your annoying coworkers, Jeff. ✅ Articles/news interesting to programmers but not about programming. Work from home is bullshit. Return to office is bullshit. There's a Steam sale on programming games. Terry Davis has died. How to SCRUMM. App Store commissions are going up. How to hire a more diverse development team. Interviewing programmers is broken. ⚠️ General technology news. Google buys its last competitor. A self driving car hit a pedestrian. Twitter is collapsing. Oculus accidentally showed your grandmother a penis. Github sued when Copilot produces the complete works of Harry Potter in a code comment. Meta cancels work from home. Gnome dropped a feature I like. How to run Stable Diffusion to generate pictures of, uh, cats, yeah it's definitely just for cats. A bitcoin VR metaversed my AI and now my app store is mobile social local. 🚫 Politics. The Pirate Party is winning in Sweden. Please vote for net neutrality. Big Tech is being sued in Europe for gestures broadly. 🚫 Gossip. Richard Stallman switches to Windows. Elon Musk farted. Linus Torvalds was a poopy-head on a mailing list. Grace Hopper Conference is now 60% male. The People's Rust Foundation is arguing with the Rust Foundation For The People. Terraform has been forked into Terra and Form. Stack Overflow sucks now. Stack Overflow is good actually. ✅ Demos with code. I wrote a game, here it is on GitHub 🚫 Demos without code. I wrote a game, come buy it! Please give me feedback on my startup (totally not an ad nosirree). I stayed up all night writing a commercial text editor, here's the pricing page. I made a DALL-E image generator. I made the fifteenth animation of A* this week, here's a GIF. 🚫 AskReddit type forum questions. What's your favourite programming language? Tabs or spaces? Does anyone else hate it when. 🚫 Support questions. How do I write a web crawler? How do I get into programming? Where's my missing semicolon? Please do this obvious homework problem for me. Personally I feel very strongly about not allowing these because they'd quickly drown out all of the actual content I come to see, and there are already much more effective places to get them answered anyway. In real life the quality of the ones that we see is also universally very low. 🚫 Surveys and 🚫 Job postings and anything else that is looking to extract value from a place a lot of programmers hang out without contributing anything itself. 🚫 Meta posts. DAE think r/programming sucks? Why did you remove my post? Why did you ban this user that is totes not me I swear I'm just asking questions. Except this meta post. This one is okay because I'm a tyrant that the rules don't apply to (I assume you are saying about me to yourself right now). 🚫 Images, memes, anything low-effort or low-content. Thankfully we very rarely see any of this so there's not much to remove but like support questions once you have a few of these they tend to totally take over because it's easier to make a meme than to write a paper and also easier to vote on a meme than to read a paper. ⚠️ Posts that we'd normally allow but that are obviously, unquestioningly super low quality like blogspam copy-pasted onto a site with a bazillion ads. It has to be pretty bad before we remove it and even then sometimes these are the first post to get traction about a news event so we leave them up if they're the best discussion going on about the news event. There's a lot of grey area here with CVE announcements in particular: there are a lot of spammy security "blogs" that syndicate stories like this. ⚠️ Posts that are duplicates of other posts or the same news event. We leave up either the first one or the healthiest discussion. ⚠️ Posts where the title editorialises too heavily or especially is a lie or conspiracy theory. Comments are only very loosely moderated and it's mostly 🚫 Bots of any kind (Beep boop you misspelled misspelled!) and 🚫 Incivility (You idiot, everybody knows that my favourite toy is better than your favourite toy.) However the number of obvious GPT comment bots is rising and will quickly become untenable for the number of active moderators we have. There are some topics such as Code of Conduct arguments within projects that I don't know where to place where we've been doing a civility check on the comments thread and using that to make the decision. Similarly some straddle the line (a link to a StackOverflow post asking for help and the reddit OP is the StackOverflow OP, but there's a lot of technical content and the reddit discussion is healthy). And even most 🚫s above are left up if there's a healthy discussion going already by the time we see it. So what now? We need to decide what r/programming should be about and we need to write those rules down so that mods can consistently apply them. The rules as written are pretty vague and the way we're moderating in practise is only loosely connected to them. We're looking for feedback on what kind of place r/programming should be so tell us below. We need additional mods. If you're interested in helping moderate please post below, saying why you'd be a good mod and what you'd would change about the space if you were. You don't need to be a moderator elsewhere but please do mention it if you are and what we could learn on r/programming that you already know. Currently I think I'm the only one going down the new page every morning and removing the rule-breaking posts. (Today these are mostly "how do I program computer" or "can somebody help me fix my printer", and obvious spam.) This results in a lot of threads complaining about the moderation quality and, well, it's not wrong. I'm not rigorously watching the mod queue and I'm not trawling comments threads looking for bad actors unless I'm in that thread anyway and I don't use reddit every single day. So if we want it to be better we'll need more human power. FAQ: Why do we need moderation at all? Can't the votes just do it? We know there is demand for unmoderated spaces in the world, but r/programming isn't that space. This is our theory on why keeping the subreddit on topic is important: Forums have the interesting property that whatever is on the front page today is what will be on the front page tomorrow. When a user comes to the site and sees a set of content, they believe that that's what this website is about. If they like it they'll stay and contribute that kind of content and if they don't like it they won't stay, leaving only the people that liked the content they saw yesterday. So the seed content is important and keeping things on topic is important. If you like r/programming then you need moderation to keep it the way that you like it (or make it be the place you wish it were) because otherwise entropic drift will make it be a different place. And once you have moderation it's going to have a subjective component, that's just the nature of it. Because of the way reddit works, on a light news day r/programming doesn't get enough daily content for articles to meaningfully compete with each other. Towards the end of the day if I post something to r/programming it will immediately go to the front page of all r/programming subscribers. So while it's true that sub-par and rule-breaking posts already do most of their damage before the mods even see them, the whole theory of posts competing via votes alone doesn't really work in a lower-volume subreddit. Because of the mechanics of moderation it's not really possible to allow the subreddit to be say 5% support questions. Even if we wanted to allow it to be a small amount of the conten, the individuals whose content was removed would experience and perceive this as a punitive action against them. That means that any category we allow could theoretically completely take over r/programming (like the career posts from last week) so we should only allow types of content that we'd be okay with taking it over. Personally my dream is for r/programming to be the place with the highest quality programming content, where I can go to read something interesting and learn something new every day. That dream is at odds with allowing every piece of blogspam and "10 ways to convince your boss to give you a raise, #2 will get you fired!" submitted by /u/ketralnis [link] [comments]