477
Anon hates C++ (lemmy.nz)
top 50 comments
sorted by: hot top new old
[-] Kolanaki@pawb.social 3 points 2 days ago* (last edited 2 days ago)

I like C++ but then again, I am just a modder so I have no idea what it's actually bad at since it does everything I need and it's easy. I'm not writing whole big programs that serve a huge company or anything. Hell, I ain't even making entire games.

Can someone ELI5 what's wrong with it?

[-] red_tomato@lemmy.world 112 points 5 days ago

The whole point of C++ is to graft Object Oriented Programming into C like some Frankenstein’s monster because OOP was the big hype.

C++ being performant is mostly a side effect of it being based on a language created when programs were still punched into paper cards.

[-] Eggymatrix@sh.itjust.works 36 points 5 days ago

That was the point 20 years ago. These days it is pivoting to compile time functional programming

[-] Hadriscus@jlai.lu 23 points 5 days ago
[-] e8d79@discuss.tchncs.de 28 points 5 days ago

If you have a constant expression like 1 + 2 in your code you can evaluate it at compile time once and avoid computing it at runtime. You can do that with control flow and much more complex language constructs in C++. If you want to know more about that look into C++ template meta programming, constexpr, and constval.

[-] Amir@lemmy.ml 54 points 5 days ago

Or don't look into those things if you wish to remain sane

[-] 87Six@lemmy.zip 16 points 5 days ago

Templates are cool as fuck tho... For like 5 minutes until you go insane

[-] Amir@lemmy.ml 7 points 5 days ago

I get that the designers wanted to have compile time static replacement but this was not the way to do it.

[-] protogen420@lemmy.blahaj.zone 9 points 5 days ago

yeah, zig and rust have the same concepts but much better thought and structed

[-] rtxn@lemmy.world 11 points 5 days ago

It's easy to build a well-designed language when you don't have to work around the mistakes of the past that were too difficult to solve then and too deeply entrenched to change now.

[-] protogen420@lemmy.blahaj.zone 12 points 5 days ago

yes, thats why I dont bother finnishing projects

[-] tomenzgg@midwest.social 11 points 5 days ago

To be fair, I never fully understood why programming projects have to be native Finlanders, in the end.

[-] timochka@lemmy.zip 7 points 5 days ago

Translation: "We've made the preprocessor a first-class language feature!"

(jk, don't kill me)

load more comments (1 replies)
[-] ddplf@szmer.info 10 points 5 days ago

it means rust is cool as fuck

load more comments (4 replies)
load more comments (1 replies)
load more comments (3 replies)
[-] begrudgedcarfolk@sh.itjust.works 87 points 5 days ago

It's kind of sad that so many big studios have abandoned their proprietary engines to adopt unreal engine 5. What's going to happen when Epic starts to turn the screws because they feel like they aren't making enough money? All these big studios won't have any staff left that knows how to build graphical engines. Honestly, at least it would make sense if they have up on their engines and started using Godot. At least they wouldn't be bound to Epic's bullshit.

[-] Barbarian@sh.itjust.works 48 points 5 days ago

At a conceptual level, it makes 100% sense that companies are moving away from bespoke engines and towards a standardized engine. This is something you see in many different industries. Spending a whole bunch of money and effort when 95% of your requirements are the same as everyone else is a bit silly.

However, you're completely right that there's the same danger as in other industries where the 'boring software infrastructure' gets standardized and outsourced: a niche monopoly able to exploit their position. What tends to happen in the long run is an open source project for that infrastructure run by an NGO with the industry members (in this case AAA game companies) on the board of directors.

[-] Sonotsugipaa@lemmy.dbzer0.com 9 points 5 days ago

Even disregarding the long-term problems, I fear for the days when every single game looks the same because their developers decide that UE5 knows best and that there's no way photorealism gets in the way of artistic direction

... hell, even in stylized UE5 games, I don't know how or why but I can feel the UE5ness

[-] sp3ctr4l@lemmy.dbzer0.com 8 points 5 days ago* (last edited 5 days ago)

What tends to happen in the long run is an open source project for that infrastructure run by an NGO with the industry members (in this case AAA game companies) on the board of directors.

So, O3D, basically. Formerly basically Lumberyard, one of the branches of CryEngine, that Amazon bought, then gave up on actually making work, then open sourced it, but still basically runs the NGO/NonProfit that technically runs it.

As opposed to the other branch that StarCitizen/RSI is... "developing"... or just the main branch that CryTek still owns and does liscense out.

But yeah we still currently have Godot that is opensource and run by an NGO/NonProfit that at least currently doesnt seem to be totally dominated by corpo spending/influence.

And it only makes conceptual sense to adopt a 3rd party AAA engine as an industry standard if youre financially fucked as a publisher/game studio. Its basically the same thing as a company being bought out by private equity; the only thing that can happen from that point is squeezing the last bit of juice out of whatever is left.

Because when there's a monopolistic game engine, well it just colludes with monopolistic hardware.

Then nobody in the bottom 90% can afford the 'AAA' experience, because prices are too high, because the engine doesn't need to be optimized, because that would decrease monopolistic rents on the hardware, which also doesn't need to be optimized.

So that market and production model cannibalizes itself.

load more comments (1 replies)
[-] ICastFist@programming.dev 10 points 5 days ago

Fun fact, a bunch of proprietary engines were just local alterations based on another licensed engine.

https://en.wikipedia.org/wiki/First-person_shooter_engine

[-] warm@kbin.earth 11 points 5 days ago

It comes down to money. Studios dont want to spend the time and money anymore. People will buy whatever garbage they put out anyway. It can be shitty UE5 at 30fps, people have no standards anymore.

load more comments (6 replies)
[-] Wirlocke@lemmy.blahaj.zone 42 points 5 days ago* (last edited 5 days ago)

I love C++ as a god defying monument of backward compatibility. You can go through the versions like an archeologist looking through layers of rock to see what the trends of that time were. There's not only one way to do the thing you want, but several, too many ways, and no one can stop you from frankensteining pieces together that were never meant to be.

If C is meant to be a basic toolbox, C++ is your dad's disorganized tool cabinet he keeps in the garage. Overflowing with barely used, highly specific, and redundant tools.

[-] fibojoly@sh.itjust.works 6 points 3 days ago

And every one of those tools can kill you.

[-] resipsaloquitur@lemmy.cafe 63 points 5 days ago

Go ahead, write your 3D engine in Python. I dare you.

[-] zurohki@aussie.zone 60 points 5 days ago

You'd write the code in something else and then be like

import 3dengine
3dengine.run()
[-] whimsy@lemmy.zip 28 points 5 days ago

Aah yes, the entire numerical python stack being carried on Fortran and C's shoulders

[-] Whelks_chance@lemmy.world 15 points 5 days ago

The tutorials and walkthrough guides for all of that stuff are infuriating.

What do you mean I just import and run "unbelievably_specific_tool" and run it? How am I supposed to do anything other than process this example data with that?

[-] qaz@lemmy.world 5 points 4 days ago* (last edited 4 days ago)

Exactly, coming from Java it was such a big difference. Previously I could click on any class or method and view the implementation, with Python, suddenly everything was a convoluted jungle of methods popping into existence during runtime or being loaded from some opaque binary.

[-] hoshikarakitaridia@lemmy.world 14 points 5 days ago

Never underestimate my self-loathing and my desire to write the most unusable piece of shit.

load more comments (8 replies)
[-] xep@discuss.online 42 points 5 days ago* (last edited 5 days ago)

The point of C++ isn't optimization, rather it is that one only pays for what one uses. Experience in C++ leads to using only the features of C++ that are appropriate and conscientiously eschewing the rest.

load more comments (2 replies)
[-] MonkderVierte@lemmy.zip 26 points 5 days ago

The point of C++ is C, but with extra footguns.

[-] resipsaloquitur@lemmy.cafe 5 points 4 days ago* (last edited 4 days ago)

Try OO C and you’ll see why C++ is the way it is.

Stroustrop’s first cut of C++ was called “C With Classes.”

[-] thebestaquaman@lemmy.world 5 points 4 days ago

Foot~~guns~~cannons

[-] eestileib@sh.itjust.works 17 points 4 days ago

I got paid good money to write C++ for several years.

It is a shit language, and people love it for the same reason that they love being in a fraternity with hazing rituals.

[-] tetris11@feddit.uk 3 points 3 days ago
[-] eestileib@sh.itjust.works 3 points 3 days ago

Sounds like frats have moved on to ketamine, which is even more depressing to me somehow

[-] BaraCoded@literature.cafe 15 points 5 days ago

Isn't that the role of Rust?

[-] Tattorack@lemmy.world 13 points 4 days ago

This feels like that XKCD comic.

"There are 14 competing standards..."

[-] ILikeBoobies@lemmy.ca 8 points 4 days ago

Not really, the role of Rust is type/memory safety, you can still have unoptimized games. Also Rust is more complicated.

Verse, Scratch and GDScript are video game scripts.

load more comments (2 replies)
[-] deathmetal27@lemmy.world 24 points 5 days ago

By that logic, if your English language essay gets an F it's the English language's fault?

[-] Opisek@piefed.blahaj.zone 17 points 5 days ago

Given we're talking about the English language, yes /jk

load more comments (11 replies)
[-] lessthanluigi@lemmy.sdf.org 5 points 4 days ago

Anon is my C language programming college professor. He was also a linux evangelist, and got me to start daily driving/dualbooting linux.

load more comments
view more: next ›
this post was submitted on 06 Oct 2026
477 points (99.0% liked)

Greentext

8826 readers
602 users here now

This is a place to share greentexts and witness the confounding life of Anon. If you're new to the Greentext community, think of it as a sort of zoo with Anon as the main attraction.

Be warned:

If you find yourself getting angry (or god forbid, agreeing) with something Anon has said, you might be doing it wrong.

founded 3 years ago
MODERATORS