this post was submitted on 28 Dec 2025
243 points (94.5% liked)

Programmer Humor

28058 readers
1117 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 

Post:

If you’re still shipping load‑bearing code in C, C++, Python, or vanilla JavaScript in 2025, you’re gambling with house money and calling it “experience.”

As systems scale, untyped or foot‑gun‑heavy languages don’t just get harder to work with—they hit a complexity cliff. Every new feature is another chance for a runtime type error or a memory bug to land in prod. Now layer LLM‑generated glue code on top of that. More code, more surface area, less anyone truly understands. In that world, “we’ll catch it in tests” is wishful thinking, not a strategy.

We don’t live in 1998 anymore. We have languages that:

  • Make whole classes of bugs unrepresentable (Rust, TypeScript)
  • Give you memory safety and concurrency sanity by default (Rust, Go)
  • Provide static structure that both humans and LLMs can lean on as guardrails, not red tape

At this point, choosing C/C++ for safety‑critical paths, or dynamic languages for the core of a large system, isn’t just “old school.” It’s negligence with better marketing.

Use Rust, Go, or TypeScript for anything that actually matters. Use Python/JS at the edges, for scripts and prototypes.

For production, load‑bearing paths in 2025 and beyond, anything else is you saying, out loud:

“I’m okay with avoidable runtime failures and undefined behavior in my critical systems.”

Are you?

Comment:

Nonsense. If your code has reached the point of unmaintainable complexity, then blame the author, not the language.

you are viewing a single comment's thread
view the rest of the comments
[–] Badabinski@kbin.earth 24 points 11 hours ago (2 children)

Yeah, plus it has type hints and tooling to make said type hints mandatory.

Also, like, fuck golang, it's such a shit language and the compiler does very little to protect you. I'd say that mypy does a better job of giving you AOT protection.

[–] qaz@lemmy.world 5 points 7 hours ago* (last edited 7 hours ago) (1 children)

Also, like, fuck golang, it’s such a shit language and the compiler does very little to protect you

I never understood why people like it. It's a "new" language, and it still doesn't seem to get the basics right. No proper null handling, and don't get me started on interface{}. It's like they set out to build a better alternative to C++ while ignoring the other developments outside C/C++ for the past 15 years. The compiler is damn quick, though.

[–] Gremour@lemmy.world 2 points 7 hours ago

I've dumped 18 years of C++ experience for Go in 2018, and never wanted to come back. Took me a couple of months to become accustomed.

The main Go's feature is a green light for ignoring OOP baggage collected for decades, which makes writing code unnecessary burden. And Go have tools for not doing that.

Yes, sometimes it can be a bit ugly, but if you're ready to trade academic impeccability for ease of use, it's a real blast.

I've seen a lot of bad code in Go, which tried to do OOP things taught in school or books. Just don't. Go requires a different approach, different mindset. Then everything falls in their places.

[–] DoctorPress@lemmy.zip 3 points 7 hours ago* (last edited 7 hours ago)

It took me a whole some text by compiler was supposed to be an error message, there were not any saying of any kind error or hints that it was in fact an error. It just printed some packages then exits with non-zero code.

Turns out it was import cycle.