Skip to content
DevMeme
2705 of 7590
Languages Post #2989 · source on Telegram

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

19
Anonymous ★ Top Pick 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?'
  1. Anonymous ★ Top Pick

    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?'

  2. Anonymous

    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

  3. Anonymous

    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

  4. Anonymous

    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

  5. Anonymous

    OOP is fine; it’s when you start subclassing String and stacking FactoryFactories that you’re debugging the org chart, not the code

  6. Anonymous

    OOP: Where a C struct gets promoted to a FactoryBuilderAbstractProxySingleton, complete with Spring context startup lag

  7. Anonymous

    Every abstract factory you add is another pointer chase between the bug and the stack trace - your cloud bill calls it “abstraction.”

  8. @NoCountryForOldBuffet 5y

    this but unironically

    1. Deleted Account 5y

      yes

  9. @The_first_hunter 5y

    Reject modernity Return back to assembly

    1. @LanaRC 5y

      lol

    2. @weird_autumn 5y

      Terry Davis did nothing wrong.

    3. @GTRst 5y

      Reject assembly Return to code in binary

      1. dev_meme 5y

        reject electricity, return to steampunk computing

        1. @NiKryukov 5y

          Reject computing, return to ooga booga

          1. @feskow 5y

            > proceeds to mine a bitcoin in mind

        2. @theodolu 5y

          Reject silicon, return to water computers

  10. @Bender666 5y

    comments escalated quickly

  11. @NoCountryForOldBuffet 5y

    "Object oriented programs are offered as alternatives to correct ones" Dijkstra

Use J and K for navigation