The Anti-Object-Oriented Programming Manifesto
Description
A polemical, rant-style meme with a light purple background and bold black text. The main title, repeated for emphasis, is 'STOP OBJECT ORIENTED PROGRAMMING'. It presents a series of bullet points arguing against OOP, stating 'WE WERE NEVER SUPPOSED TO GO BEYOND SUBROUTINES', 'THERE IS NOTHING IN C++ OR JAVA THAT YOU CANT DO IN LISP', and 'ITS JUST STRUCTURES WITH EXTRA STEPS AND OVERHEAD'. The meme includes screenshots of verbose Java and C++ class definitions, such as 'private static final class CaseInsensitiveComparator...' and 'public static final abstract class StringBuilderFactory...', overlaid with large red question marks to signify bewilderment at their complexity. A quote from Linus Torvalds, '"idiotic 'object model' crap."', is featured prominently above the Linux mascot, Tux. The overall visual style is chaotic, resembling a conspiracy theory presentation. This meme is a direct attack on the principles of OOP, championing the simplicity of procedural programming (like C-style structs) and the power of functional languages like LISP. It resonates deeply with senior developers who have experienced the downsides of overly-engineered, 'enterprise-grade' OOP, which can lead to excessive boilerplate, high cognitive overhead, and performance issues, echoing Linus Torvalds' well-known preference for C over C++ for systems programming
Comments
19Comment deleted
Procedural programmer: 'Here's the function that solves the problem.' The enterprise OOP architect: 'An excellent proof of concept, now where is your AbstractProblemSolvingStrategyFactory interface?'
Profiler flagged the 300-line AbstractFinalBuilderFactory as our hottest path, so I replaced it with a struct and a function pointer; latency dropped 40%, and the only thing that broke was the UML diagram
After 20 years, I finally understand why they call it Object-Oriented Programming - it's because every architectural discussion eventually becomes an object-ion to someone else's perfectly working code
This meme perfectly captures the existential dread of opening a 'simple' Java codebase only to find seventeen layers of AbstractSingletonProxyFactoryBean wrappers around what could've been a function and a struct. The real kicker? Linus actually did call C++ 'a horrible language' and refused it in the kernel - turns out when you're managing millions of lines of performance-critical code, 'idiotic object model crap' isn't just a meme, it's a legitimate architectural concern. Meanwhile, the Lisp developers are still smugly pointing out they solved this in 1958 with macros and closures, but nobody invited them to the enterprise party
OOP is fine; it’s when you start subclassing String and stacking FactoryFactories that you’re debugging the org chart, not the code
OOP: Where a C struct gets promoted to a FactoryBuilderAbstractProxySingleton, complete with Spring context startup lag
Every abstract factory you add is another pointer chase between the bug and the stack trace - your cloud bill calls it “abstraction.”
this but unironically Comment deleted
yes Comment deleted
Reject modernity Return back to assembly Comment deleted
lol Comment deleted
Terry Davis did nothing wrong. Comment deleted
Reject assembly Return to code in binary Comment deleted
reject electricity, return to steampunk computing Comment deleted
Reject computing, return to ooga booga Comment deleted
> proceeds to mine a bitcoin in mind Comment deleted
Reject silicon, return to water computers Comment deleted
comments escalated quickly Comment deleted
"Object oriented programs are offered as alternatives to correct ones" Dijkstra Comment deleted