this post was submitted on 28 Dec 2025
363 points (95.5% liked)

Programmer Humor

28076 readers
1315 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
[–] hddsx@lemmy.ca 13 points 1 day ago (2 children)

Dunno, I picked python as my language for personal projects because it has type hinting now and jobs I was looking at wanted it. I’d like to use C# but I need to find a good IDE on Linux.

I’ve gotten pretty good at C because it’s what my company uses but god damn I am tired of fixing memory errors from bad programming. Nobody uses best practices and it’s horrid. Best practices came about to avoid issues. Use them. Please. I don’t want to be the guy to answer “please fix my memory issues” tasks. If you don’t know what you’re doing, please choose a different god damn language.

I’ve only gotten this way because I’ve tried to read the fucking manual. Stop telling me I’m wrong when you don’t know how it works. Stop telling me I’m wrong when you don’t check for errors. I’m telling you this not because I want to talk. I’m telling you because I learned the hard way fixing your code and I don’t want to do it anymore.

[–] folekaule@lemmy.world 7 points 1 day ago (2 children)

I just use VS code with c# extensions on Linux. It works fine. I also use vim with lsp support for C# sometimes.

If you want more, you may also want to check out Rider from Jetbrains.

[–] Mihies@programming.dev 5 points 1 day ago (1 children)

Rider here for serious work. It's also free for non commercial use if that works for you.

[–] folekaule@lemmy.world 1 points 1 day ago (1 children)

Thank you for the recommendation. I would consider it again if my day job switched to Linux (unlikely).

I did try Rider on Linux a while back, but just couldn't get my head around it. I've become too used to Visual Studio on Windows (with Resharper).

I don't do a lot of C# outside of my day job, though, so VS code is fine for my uses.

[–] Mihies@programming.dev 2 points 21 hours ago

Yep, I feel you, it's quite a bit different philosophy compared to VS. However, if you use other Jetbrains products, it helps that they share a lot of features so you eventually grasp the different approach. And sure, if VS Code is good enough for you, great.

[–] hddsx@lemmy.ca 1 points 1 day ago (2 children)

I can’t use codium because on sway the file open dialog doesn’t work and I haven’t figured out why

[–] folekaule@lemmy.world 3 points 1 day ago

Unfortunately I can't help you there. I just use plain old kde plasma on Fedora. If your favorite code editor supports Language Server Protocol (LSP), you can probably get it to do code completion for C# one way or another. Vim, neovim, Kate, and many others do.

Just in case you have this problem with other software: it's probably an XDG desktop portal issue, I haven't used Sway specifically for a while but it took me a lot of trial and error to wrangle my portals into submission without using Plasma.

[–] orgrinrt@lemmy.world 1 points 1 day ago* (last edited 13 hours ago) (1 children)

I believe zed has extensions for c#, and I guess more importantly, dotnet.

At this point, unless you have the money to grab sublime (or specifically want foss or even just free as in beer), and you aren’t sold on the way of life of the old guard like the modern vims or emacs, zed is pretty much the best there is.

I used to be such a jetbrains guy, but that was back when they did actually have something nobody else really offered outside of Microsoft. Before that, for a good long time, I was an emacs guy, until I had to use a windows computer for work and emacs just doesn’t fit well there, couldn’t get a good equivalent of the daemon going consistently, had to switch. And to be frank, lisp is the fucking worst.

Nowadays, there are so many options though, even, or especially, on foss side. Or even just free. Hard to justify the jetbrains kinds of specialized tools, now that the same sugary, smooth experience is almost exactly achievable on those. And faster.

I have been happy with zed for quite a while now. Apart from the (disableable, thank god) first class AI stuff, I haven’t a single complaint. It feels as fast and responsive as sublime, and while the ecosystem isn’t there yet, I can get all my stacks and tooling to run currently like it was a jetbrains ide from back in the day. Rust, dotnet, deno/ts, it all just works after setup.

I would still go for sublime just for the ecosystem, but I haven’t the economics at a point where I can choose convenience for a price, if a close equivalent exists with the price of nothing but contributions occasionally. The zed source being open, even if my PRs don’t get merged, I can just live with my fork and have it natively the way I want, without working around the extension limitations.

[–] hddsx@lemmy.ca 1 points 1 day ago (1 children)

I’m confused. I looked at zed and it’s Apache 2.0. Isn’t that open source? I do specifically want FOSS

[–] orgrinrt@lemmy.world 2 points 13 hours ago

Sorry, I go on tangents and end up just confusing people. It is! That was my point, though failed to deliver it. Gpl3, agpl and apache.

They do have a pricing model for enterprises with some proprietary extra stuff on top (shared billing, SSO, premium support and stuff like that), and a tier for expanded AI stuff (entirely ignorable, and the editor works with pretty much everything, so if you need those things, you can just set up whichever service you want yourself), but those can both be ignored, the main editor is FOSS and committed to remain so.