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
- Achieving scale with Amazon Aurora Limitless Databaseby /u/daigoba66 (programming) on December 1, 2023 at 12:24 pm
submitted by /u/daigoba66 [link] [comments]
- 7 Most Popular Backend Frameworks (2024)by Kane Jason (Programming on Medium) on December 1, 2023 at 12:12 pm
While the frontend of web development may get all the glory, it’s the backend that truly makes the magic happen.Continue reading on Bootcamp »
- Dominando las Variables en JavaScript: Tipos, Nomenclatura y Ámbitosby Samuel Sanchez Lopez (Programming on Medium) on December 1, 2023 at 12:11 pm
Un buen código debe leerse como si fuera un libro, por ello es importante elegir con criterio tanto el nombre como el tipo de declaración…Continue reading on Medium »
- Создание чат-бота с помощью LLM и LangChainby Roman (Programming on Medium) on December 1, 2023 at 12:01 pm
В этой статье я расскажу об опыте создания чат-ботов в компании Dash. Наша цель — всесторонне изучить LangChain, охватив широкий спектр…Continue reading on NOP::Nuances of Programming »
- 10 Useful Tags and Attributes in HTML You Must Knowby Mahesh Vaishnav (Programming on Medium) on December 1, 2023 at 12:01 pm
HTML attribute provides a lot more complex tasks directly on your HTML file, You better know that HTML is a building block of the web (If…Continue reading on Medium »
- Advent of Code Day 1by Yurko (Programming on Medium) on December 1, 2023 at 11:59 am
Let’s help Elves with their noble goal and do some programming puzzles.Continue reading on Medium »
- JavaScript “To” Array Methodsby Dimterion (Programming on Medium) on December 1, 2023 at 11:51 am
While doing some coding challenges I’ve come upon JS toSpliced method and then realized there are a few other “to”s.Continue reading on Medium »
- Unleash Your JavaScript Skills for Free with These Awesome Resourcesby Rishabh (Programming on Medium) on December 1, 2023 at 11:45 am
JavaScript is a versatile and widely used programming language that forms the backbone of the web. Whether you’re a beginner taking your…Continue reading on Medium »
- Identification of Kankrej Cowby Virat First (Programming on Medium) on December 1, 2023 at 11:35 am
Continue reading on Medium »
- Lesson #28. Python. String methodsby Artur Khudaverdiev (Programming on Medium) on December 1, 2023 at 11:35 am
Split() methodContinue reading on Medium »
- Changes in Directionby Margaret Eldridge (Programming on Medium) on December 1, 2023 at 11:31 am
A Pragmatic Wordoku PuzzleContinue reading on The Pragmatic Programmers »
- ClickHouse Keeper: Efficient Apache ZooKeeper Alternative Created with C++ and Raftby /u/rgancarz (programming) on December 1, 2023 at 11:26 am
submitted by /u/rgancarz [link] [comments]
- How To Count Unique Paths In A Grid With Obstaclesby /u/Own-Estate-5717 (programming) on December 1, 2023 at 11:07 am
submitted by /u/Own-Estate-5717 [link] [comments]
- Takeaway from WebSummit: An IP battle is about to comeby /u/jupiter_traveller (programming) on December 1, 2023 at 10:31 am
I attended WebSummit this year and from all the talks I followed everyone was mentioning how AI will kill creativity and how important it will be to stay creative and original. What caught my attention, was this statement. An Intellectual Property battle is coming. AI needs human creations to train upon, but why should I give it to it if they don't even pay me?! submitted by /u/jupiter_traveller [link] [comments]
- Python Tutorial (2024): Introduction to Data Science with Pythonby /u/Reginald_Martin (programming) on December 1, 2023 at 10:01 am
submitted by /u/Reginald_Martin [link] [comments]
- Advent of Code in Go - A template repository for rapidly writing Advent of Code solutions in Go. With Advent of Code starting today, now is great time to learn Go!by /u/Jamo008 (programming) on December 1, 2023 at 9:56 am
submitted by /u/Jamo008 [link] [comments]
- KCL v0.7 Released! More Comprehensive Modules, Language, and Tools for DevOps.by /u/Peefy- (programming) on December 1, 2023 at 9:56 am
submitted by /u/Peefy- [link] [comments]
- Very happy that my side project made it to homebrew-core as ‘cidr’ 🙂by /u/bschaatsbergen (programming) on December 1, 2023 at 9:04 am
submitted by /u/bschaatsbergen [link] [comments]
- Building interactive web pages with Guile Hoot -- Spritely Instituteby /u/LowHoliday8263 (programming) on December 1, 2023 at 8:58 am
submitted by /u/LowHoliday8263 [link] [comments]
- Addressing Misconfigurations in Microsoft 365 and Azure ADby /u/LowHoliday8263 (programming) on December 1, 2023 at 8:57 am
submitted by /u/LowHoliday8263 [link] [comments]
- getML - The fastest open-source library for automated feature engineering on relational data and time series.by /u/liuzicheng1987 (programming) on December 1, 2023 at 8:24 am
submitted by /u/liuzicheng1987 [link] [comments]
- 2024 YH4F - Registration for this free programming competition for teenagers is openby /u/freesoftwarefairy (programming) on December 1, 2023 at 8:20 am
submitted by /u/freesoftwarefairy [link] [comments]
- Extracting Training Data from ChatGPTby /u/waozen (programming) on December 1, 2023 at 7:54 am
submitted by /u/waozen [link] [comments]
- Unpopular Baby Names in the USby Caroline Arnold (Python on Medium) on December 1, 2023 at 7:06 am
Focus topic: Histogram plots with unevenly distributed dataContinue reading on Friday Data Story »
- vision cash loan CUSToMER Care helpline number ☎️️6360732731 (#)®️-|.6360732731by Yhxhdhdhdh (Python on Medium) on December 1, 2023 at 7:04 am
Continue reading on Medium »
- vision cash loan CUSToMER Care helpline number ☎️️6360732731 (#)®️-|.6360732731by Yhxhdhdhdh (Python on Medium) on December 1, 2023 at 7:03 am
Continue reading on Medium »
- Photo by Eliasvision cash loan CUSToMER Care helpline number ☎️️6360732731 (#)®️-|.6360732731by Yhxhdhdhdh (Python on Medium) on December 1, 2023 at 6:59 am
vision cash loan CUSToMER Care helpline number ☎️🖌️6360732731 (#)®️-|.6360732731 call nowg vision cash loan CUSToMER Care helpline number…Continue reading on Medium »
- Almost Everything You Want to Know About Partition Size of Dask Dataframesby Mikhail Sarafanov (Python on Medium) on December 1, 2023 at 6:59 am
And how to utilize it effectively in XGBoost modelContinue reading on Towards Data Science »
- Photo by Shubham vision cash loan CUSToMER Care helpline number ☎️️6360732731 (#)®️-|.6360732731by Yhxhdhdhdh (Python on Medium) on December 1, 2023 at 6:58 am
Continue reading on Medium »
- Photo by evision cash loan CUSToMER Care helpline number ☎️️6360732731 (#)®️-|.6360732731by Yhxhdhdhdh (Python on Medium) on December 1, 2023 at 6:57 am
vision cash loan CUSToMER Care helpline number ☎️🖌️6360732731 (#)®️-|.6360732731 call nowg vision cash loan CUSToMER Care helpline number…Continue reading on Medium »
- vision cash loan CUSToMER Care helpline number ☎️️6360732731 (#)®️-|.6360732731by Yhxhdhdhdh (Python on Medium) on December 1, 2023 at 6:56 am
vision cash loan CUSToMER Care helpline number ☎️🖌️6360732731 (#)®️-|.6360732731 call nowg vision cash loan CUSToMER Care helpline number…Continue reading on Medium »
- Photo by Marivision cash loan CUSToMER Care helpline number ☎️️6360732731 (#)®️-|.6360732731by Yhxhdhdhdh (Python on Medium) on December 1, 2023 at 6:56 am
vision cash loan CUSToMER Care helpline number ☎️🖌️6360732731 (#)®️-|.6360732731 call nowg vision cash loan CUSToMER Care helpline number…Continue reading on Medium »
- 34 Things I Wished I Knew Before My Databricks ML Associate Examby Daniel Ruiz (Python on Medium) on December 1, 2023 at 6:53 am
A review for the Databricks Machine Learning Associate Certification, covering all sections of the exam. Written to help you on the exam.Continue reading on Medium »
- How can medical coding support healthcare data analytics and research efforts?by Greeshma R (Coding on Medium) on December 1, 2023 at 6:44 am
Medical coding offers a standardized process for converting complicated medical data into internationally recognized codes, which is…Continue reading on Medium »
- What are the common challenges and errors in medical coding ?by Greeshma R (Coding on Medium) on December 1, 2023 at 6:42 am
Medical coding is an essential component of healthcare administration. Although it helps ensure correct billing and the preservation of…Continue reading on Medium »
- Understanding BOM in JavaScript: Fast Explaining and Providing Examplesby Maksym Smirnov (Coding on Medium) on December 1, 2023 at 6:16 am
🕹️JavaScript is a versatile programming language that empowers developers to create dynamic and interactive web applications. While its…Continue reading on Stackademic »
- What are the career prospects and opportunities for professional medical coders in the healthcare…by Greeshma R (Coding on Medium) on December 1, 2023 at 6:13 am
Professional medical coders had generally good career prospects in the healthcare industry as of January 2022, when I last updated my…Continue reading on Medium »
- 10 Golang Libraries Useful In 2023by Tom Smykowski (Coding on Medium) on December 1, 2023 at 6:10 am
Debug, command line, tools. You’re here for a treat of some really nice Go libraries!Continue reading on Medium »
- Title: Mastering Python in 2023: Your Ultimate Guide to Successby Mahaveersankhla (Coding on Medium) on December 1, 2023 at 6:09 am
As Python celebrates its prominence as one of the most sought-after programming languages, the year 2023 beckons with opportunities for…Continue reading on Medium »
- Secure Payment Processing with Javaby Alexander Obregon (Coding on Medium) on December 1, 2023 at 5:57 am
IntroductionContinue reading on Medium »
- Best Practices for Error Handling and Exception Management in Javaby Skilled Coder (Coding on Medium) on December 1, 2023 at 5:48 am
These are essential practices you should be familiar with when it comes to error handling.Continue reading on Javarevisited »
- 10 Best Java Courses on Udemy in 2023by Abhishek Reddy (Coding on Medium) on December 1, 2023 at 5:43 am
Explore the 10 best Java Courses on Udemy. I rated these courses based on my personal experience, learning outcomes, course reviews, and…Continue reading on Medium »
- COME TRASFORMARE LA PERSONALITÀ?!by Dr claudio saracino (Coding on Medium) on December 1, 2023 at 5:33 am
cambiare per il meglio per il bene tuo ed il bene dei tuoi cari, perché no?!Continue reading on Medium »
- Turbo Pascal turns 40by /u/sysrpl (programming) on December 1, 2023 at 2:21 am
submitted by /u/sysrpl [link] [comments]
- Code is run more than readby /u/facundoolano (programming) on December 1, 2023 at 1:34 am
submitted by /u/facundoolano [link] [comments]
- Inside the Intel 386 processor die: the clock circuitby /u/ketralnis (programming) on December 1, 2023 at 12:49 am
submitted by /u/ketralnis [link] [comments]
- Optimizing CI/CD workflows for trunk-based developmentby /u/fosterfriendship (programming) on December 1, 2023 at 12:08 am
submitted by /u/fosterfriendship [link] [comments]
- Writing Javascript without a build systemby /u/fagnerbrack (programming) on November 30, 2023 at 10:01 pm
submitted by /u/fagnerbrack [link] [comments]
- Smart Constructorsby /u/andyg_blog (programming) on November 30, 2023 at 9:17 pm
submitted by /u/andyg_blog [link] [comments]
- Reminder: Advent of Code 2023 starts tomorrowby /u/Milumet (programming) on November 30, 2023 at 7:50 pm
submitted by /u/Milumet [link] [comments]
- Interesting RFC on naming your hostsby /u/DreamDeckUp (programming) on November 30, 2023 at 6:11 pm
submitted by /u/DreamDeckUp [link] [comments]
- So You Want to Optimize Your Code? (also, a disordered, confusing and absolutely incomplete oral history of Firefox performance)by /u/ImYoric (programming) on November 30, 2023 at 3:31 pm
submitted by /u/ImYoric [link] [comments]
- My entire C++ Game Programming university course (Fall 2023) is now available for free on YouTube. Make your own 2D ECS game engine using C++, SFML, and ImGuiby /u/serendib (programming) on November 30, 2023 at 2:54 pm
submitted by /u/serendib [link] [comments]
- Deep dive into CheerpJ 3.0: A WebAssembly Java Virtual Machine for the browserby /u/alexp_lt (programming) on November 30, 2023 at 12:35 pm
submitted by /u/alexp_lt [link] [comments]
- JSX without Reactby /u/fagnerbrack (programming) on November 30, 2023 at 9:06 am
submitted by /u/fagnerbrack [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]