Skip to content
DevMeme
3793 of 7590
CS Fundamentals Post #4134 · source on Telegram

The Bell Curve of Programming Wisdom: From Simple Loops to Abstract Factories and Back

Description

This meme uses the IQ Bell Curve format, also known as the 'Midwit' meme, to illustrate the journey of a software developer's understanding. On the left side, representing a low IQ score, a simple-minded Wojak character (Brainlet) states, 'coding is basically just ifs and for loops'. In the center of the curve, representing the average majority, a crying, stressed Wojak character is overwhelmed by a barrage of complex technical jargon, including 's-expressions', 'virtual inheritance', 'git blame myself', 'AbstractSingletonProxyFactoryBean', 'a monoid in the category of endofunctors', and a snippet of C++ code. On the far right, at the highest IQ level, a serene, sage-like hooded Wojak character calmly states, 'coding is basically just ifs and for loops'. The meme humorously critiques the tendency for mid-level developers to get lost in unnecessary complexity, while beginners and seasoned experts converge on the simple, fundamental truths of their craft. It reflects the Dunning-Kruger effect, where true expertise often leads to a profound appreciation for simplicity

Comments

47
Anonymous ★ Top Pick The difference between the junior and the architect? The junior thinks two 'for' loops are enough. The architect knows it's just one 'if' statement, but bills for the complexity of a distributed state machine to justify their salary
  1. Anonymous ★ Top Pick

    The difference between the junior and the architect? The junior thinks two 'for' loops are enough. The architect knows it's just one 'if' statement, but bills for the complexity of a distributed state machine to justify their salary

  2. Anonymous

    A developer’s lifecycle: begin with if/for, spend a decade reinventing them as monoids wrapped in AbstractSingletonProxyFactoryBeans, retire after realizing you’ve just built a distributed, cloud-native version of the same two keywords - only slower and with a Kubernetes invoice attached

  3. Anonymous

    After 20 years, you realize the junior who said "it's just ifs and loops" and the architect who designed AbstractSingletonProxyFactoryBean both solved the same problem, but only one of them is still maintaining their code

  4. Anonymous

    Career arc: spend ten years learning enough category theory to justify your abstractions, then spend the next ten deleting them back down to ifs and for loops

  5. Anonymous

    After 20 years of architecture astronautics with AbstractSingletonProxyFactoryBeans and monoids in the category of endofunctors, you realize the junior was right all along - it really is just ifs and for loops. The difference is now you know *which* ifs and *which* loops actually matter, and you've got the scars from every unnecessary abstraction layer to prove it

  6. Anonymous

    Proves the real production IQ sweet spot is 'ifs and loops' - extremes just multiply the tech debt monoid

  7. Anonymous

    After 20 years I'm back to 'coding is just ifs and loops' - only now the ifs are constexpr templates behind AbstractSingletonProxyFactoryBean and the loops are monadic binds over s-expressions; git blame still resolves to me

  8. Anonymous

    All those monads, factories, and constexpr ranges compile to cmp/jmp inside a loop - the rest is an invoice

  9. @affirvega 4y

    Coding is just telling computer how it should calculate

    1. @emil_wislowski 4y

      Coding is just telling the computer which transistors to turn on/off

    2. @x24R3 4y

      No fucking way

  10. @Bodziek 4y

    Coding is just telling sand how to think.

  11. @emil_wislowski 4y

    coding is telling the little gnomes how to turn the switches on

    1. @RiedleroD 4y

      Pratchett would like to have a word with you

      1. @emil_wislowski 4y

        😉

  12. @saidov 4y

    Coding is shit

    1. @emil_wislowski 4y

      it depends on the coder

      1. @saidov 4y

        No, you’re just a simple builder

      2. @RiedleroD 4y

        and on the preexisting code

        1. @emil_wislowski 4y

          and the author ot the preexisting code

  13. @saidov 4y

    Not an architect

    1. @RiedleroD 4y

      architects build design houses. stop calling yourself stuff you aren't lol

      1. @saidov 4y

        A good information system is as complex as internals of the house

        1. @RiedleroD 4y

          *a system that keeps the devs paid well. I say, make the code as simple as possible. Take stable dependencies instead large chunks of code. Then you don't need a 'software architect'.

  14. @saidov 4y

    What I mean is that coding is boring, not a creative process. Planning, analysis and design are all that matters

    1. @RiedleroD 4y

      not a creative process? Fair, if you use any modern language, aye. Boring though? I disagree.

      1. @saidov 4y

        I caught myself spending 80% of my time to actually plan and design, 10% was spent on implementation and debugging

        1. @RiedleroD 4y

          then you're perfect as an architect, but very inefficient nonetheless.

  15. @Roman_Millen 4y

    Well, technically if we're to go low-level, coding is about IFs and GOTOs — since each loop is basically GOTOing to the "loop code start" as many times as the counter implies.

    1. @sylfn 4y

      imperative moment

      1. @karim_mahyari 4y

        And how would you exactly compile functional code to instructions?

        1. @sylfn 4y

          functional machines which evaluate functional code directly

          1. @karim_mahyari 4y

            Is there one of those built? Never heard of them

            1. @sylfn 4y

              dont know either, did no research on this topic

              1. @karim_mahyari 4y

                Fair enough

  16. @abstract_factory 4y

    knees shook when I saw endofunctors

  17. @dsmagikswsa 4y

    What is difference between the left and right people in the picture?

  18. @s2504s 4y

    Слева июнь, справа синьер. Оба понимают что сила в простоте. Один по наивности, другой умудренный жизненным опытом. И только мидл творит дичайшую дичь

    1. @sylfn 4y

      wut speak english please (native russian admin) Please add English translation of non-English text or use only English so everyone can understand what is written Untranslatable jokes should be marked as such (or try to explain meaning)

    2. Deleted Account 4y

      Junior on the left, Senior on the right. Both understand that strength lies in simplicity. One out of naivety, the other wise by life experience. And only the middle creates the wildest shit

      1. @RiedleroD 4y

        did they really just explain the joke? wow

        1. Deleted Account 4y

          who they?

          1. @RiedleroD 4y

            the russian guy

            1. Deleted Account 4y

              oh, yes

      2. @dsmagikswsa 4y

        Thank you for your translation. Sir

        1. Deleted Account 4y

          uh...np

  19. @sc0rsch 4y

    It's basically just address/compute instructions and loops with jump conditions

Use J and K for navigation