Skip to content
DevMeme
4021 of 7435
The C Programmer's Minimalist Toolkit
Languages Post #4378, on May 11, 2022 in TG

The C Programmer's Minimalist Toolkit

Description

A black-and-white cartoon meme contrasting two types of developers in front of a large warehouse. On the left, a developer pushes a cart overflowing with boxes, each adorned with the logo of a modern programming language or framework, including C#, TypeScript, Go, JavaScript, Ruby on Rails, Python, Rust, and C++. Some generic boxes are labeled 'STUFF' and 'USELESS STUFF'. A character asks him, 'Is that all you need?'. On the right, a second developer stands confidently with arms crossed, holding a single book titled 'THE C PROGRAMMING LANGUAGE'. He simply replies, 'Yes.'. The meme satirizes the perceived bloat and complexity of modern software development stacks compared to the foundational, self-contained nature of the C language. It taps into a form of developer purism, suggesting that a mastery of fundamentals (like C) is sufficient to build anything, whereas modern developers are reliant on a vast and ever-changing ecosystem of tools and frameworks. It's a classic commentary on minimalism versus the dependency-heavy nature of contemporary software engineering

Comments

45
Anonymous ★ Top Pick The modern dev needs a dozen frameworks to build a todo app. The C dev just needs a terminal, a copy of K&R, and a deep-seated desire to manually manage memory for a linked list
  1. Anonymous ★ Top Pick

    The modern dev needs a dozen frameworks to build a todo app. The C dev just needs a terminal, a copy of K&R, and a deep-seated desire to manually manage memory for a linked list

  2. Anonymous

    The C developer’s entire SBOM is “libc (optional)”; yours needs a transitive-dependency audit that scrolls longer than the sprint retro

  3. Anonymous

    After 20 years in the industry, you realize the developer with just C isn't being minimalist - they're the one who actually ships the operating systems, compilers, and runtimes that make all those other languages in the cart possible

  4. Anonymous

    Every language in that cart eventually calls his one box through an FFI - he's not minimalist, he's the dependency

  5. Anonymous

    The C programmer stands alone with quiet confidence, knowing that the warehouse behind them contains the operating systems, compilers, and runtime environments that power every language in that overflowing cart. While others debate TypeScript vs JavaScript or argue about Go's error handling, the C developer understands a profound truth: you can't escape C - it's turtles all the way down. That 'minimalist' approach isn't asceticism; it's the recognition that when you control memory allocation, understand pointer arithmetic, and can read assembly output, you don't need syntactic sugar - you have direct access to the machine. The real irony? Half those logos in the cart are implemented in C, running on kernels written in C, compiled by toolchains written in C. Sometimes 'Is that all you need?' isn't a question about sufficiency - it's a Zen koan about understanding what computing actually is beneath all the abstractions

  6. Anonymous

    Two decades of “use the right tool” later, you realize the only stable platform in your stack is the C ABI - everything else is just a DSL to delay touching pointers

  7. Anonymous

    C++ devs ship hello world with 'g++'; frontend needs Kubernetes to say hi

  8. Anonymous

    After two decades you realize every “new” language is a GC and 2,000 transitive deps away from the same syscalls; with C you at least know which pointer ruined your weekend

  9. @RiedleroD 4y

    not sure if I like knowning all of these logos

  10. @CcxCZ 4y

    http://catb.org/esr/writings/unix-koans/ten-thousand.html

    1. @RiedleroD 4y

      this is gold

    2. @anatoli26 4y

      Rust is the solution

      1. @cringle_flex 4y

        [insert your preferred language] is the solution

        1. @anatoli26 4y

          But Rust is actually the solution

          1. @cringle_flex 4y

            you all said that and look where we at

            1. @anatoli26 4y

              That’s actually unfortunate that on the pic Rust appears in the pile of all that stuff

              1. @cringle_flex 4y

                Not really, objectively speaking rust programs requires more affort due to abstractions and borrow checker fights, with C you can write simple programs much simpler and faster due to manual programming. C problems is that it is old, filled with garbage fetures and huge backwards compatible standarts. I think that security, code quality and correctness should come from outside of the language. In the perfect world modern C must ditch old standarts, bring simple solutions for memory usage analysis, type coverage, linters and static analysers. In that world Rust wouldn't have place as it is not really needed. Also would be grate to have features like pluggable automatic garbage collection to fight with languages like python. In other words C is simple by design, ecosystem and toolset are disappointing

                1. @anatoli26 4y

                  😏 I guess it depends on your seniority/proficiency in Rust. If you know it well and feel it intuitively, it's much much much faster that writing in C.. I was writing in C and asm for 15 years, after discovering Rust it was like.. GOD, why You haven't sent it to us before? Why You made us suffer for so long??

                  1. @cringle_flex 4y

                    Because C is much older than Rust, one day Rust will face the same situation if it won't ditch bc at some major release

                    1. @anatoli26 4y

                      IMO today the only language that could be used literally for anything from embed micro-controllers to web back-end and even front-end and has the same C performance is Rust.. and the simplicity of writing in it is orders of magnitude that of C! Just take the lib.rs - there's just almost everything already written in Rust, in C you'd be writing all this from scratch yourself. Not to mention the typical strings manipulation errors and all the vulns that this brings in, practically impossible to catch parallel processing bugs, etc.

                      1. @cringle_flex 4y

                        You are talking about ecosystem and toolset, which is of course better in Rust, but compile it with nostd and that's where complicated things begins

                        1. @LonelyGayTiger 4y

                          That's just a totally useless comparison though.

                          1. @cringle_flex 4y

                            Why is it?

                            1. @LonelyGayTiger 4y

                              I assume you mean without the standard library. Basically no one writes code without using the standard library. The use case for doing so is incredibly niche.

                              1. @anatoli26 4y

                                true story

                        2. @anatoli26 4y

                          Off-course we are talking about the entire ecosystem. The compiler with very intuitive errors reporting, the documentation, the libs, the community, etc. And even in the nostd case its orders of magnitude better that C

  11. @anatoli26 4y

    It should be in the hands of the other guy

  12. @anatoli26 4y

    Instead of C

  13. @cringle_flex 4y

    TLDR: rust is great, bit C could be better if we lived in a perfect world

    1. @LonelyGayTiger 4y

      But we don't. So rust is clearly the better option.

      1. @cringle_flex 4y

        By design it is much more complicated than C, but it is modern, shiny and cool, so it is better option now

        1. @LonelyGayTiger 4y

          "More complicated" on its own doesn't mean much. It's largely a matter of perspective. Python is probably technically more complicated than C, but you don't hear people complaining about that.

          1. @cringle_flex 4y

            Basic python functionality is much simpler than C. You don't need to manually manage memory and all the abstractions are optional

            1. @LonelyGayTiger 4y

              By that metric you could argue that just about any language with a garbage collector is much simpler than C

              1. @cringle_flex 4y

                Well, this is only one part, there is also ecosystem, toolset and basic language abstractions (like classes, generic programming and so on)

  14. @cringle_flex 4y

    I am not senior at systems programming in any sense, all i am saying is only my opinion

  15. @LonelyGayTiger 4y

    This just isn't the case on large projects.

  16. @anatoli26 4y

    🤔 maybe in a helloworld.c case.. if you write real-world complex code with parallel processing, sockets, etc. Rust is MUCH simpler

  17. @cringle_flex 4y

    And it is no obvious which one is faster to write code on

  18. @anatoli26 4y

    Sure stackoverflow is more complete for C 😆 though you don't need that in Rust as it already has everything documented by the project. And by community I mean the people willing to help and to rewrite everything in Rust 😏 with high quality (especially for security and performance). In C go ask something to the OpenBSD guys and try not to suffer a lot from their harshness 😁

  19. @cringle_flex 4y

    If you think about it, reason is not really the same

  20. @anatoli26 4y

    go try.. 😆

  21. @misesOnWheels 4y

    this but perl

  22. @DoriamVell 3y

    This and twenty years

    1. dev_meme 3y

      Just 21 days! When you have time machine, of course

Use J and K for navigation