Fuck C++. IMO the Microsoft Windows of the programming languages.
Greentext
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:
- Anon is often crazy.
- Anon is often depressed.
- Anon frequently shares thoughts that are immature, offensive, or incomprehensible.
If you find yourself getting angry (or god forbid, agreeing) with something Anon has said, you might be doing it wrong.
This is why we should only use Python. :)
So great for programming, with no downsides. Why hasn't anyone thought of this before?
I'm a genius, i know.
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.
Isn't that the role of Rust?
This feels like that XKCD comic.
"There are 14 competing standards..."
Anon is my C language programming college professor. He was also a linux evangelist, and got me to start daily driving/dualbooting linux.
Still need to learn this one but I have no time on top of uni course. I guess I'll pick it up next July
Has anyone ever invented actual good modern language yet?
Yes, it's called Odin.
The point of C++ is C, but with extra footguns.
Try OO C and you see why C++ is the way it is.
Stroustrop’s first cut of C++ was called “C With Classes.”
Foot~~guns~~cannons
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.
Unless you call an stdlib function and suddenly 10,000 call instructions.
I understand C++ better than what C++ coders say online fr
Much love
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.
That’s why we always stan on studios like Remedy. They use their own engine, and pretty much everything they produce is stellar IMO.
I'd say the same for the RE Engine but unfortunately they have confirmed they want to turn it into an AI-Generation Engine, so that one is sunk.
Unpopular opinion: fuck remedy and their draconian EULA on single player games.
Fun fact, a bunch of proprietary engines were just local alterations based on another licensed engine.
Luckily games that have functions or features that are not present in UE5 or some other publicly accessible engine, still have to add those features to the engine to make use of them. This applies to lots of games and developers. The art of building an engine still is necessary for many developers, even those using UE5 or Unity. So worst case scenario, they have to switch to an inhouse engine development cycle and spend that much more time and money building an engine that makes them nothing in return on the hope that the engine they make, will save them substantial development the across future titles.
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.
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
A lot of these developers would be better off in the long run working in Godot and submitting PR's for fixes and updates that they need
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.
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.
By that logic, if your English language essay gets an F it's the English language's fault?
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.
That was the point 20 years ago. These days it is pivoting to compile time functional programming
What does that mean ?
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.
Translation: "We've made the preprocessor a first-class language feature!"
(jk, don't kill me)
Go ahead, write your 3D engine in Python. I dare you.
Screams in GIL
You'd write the code in something else and then be like
import 3dengine
3dengine.run()
Aah yes, the entire numerical python stack being carried on Fortran and C's shoulders
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?
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.
Never underestimate my self-loathing and my desire to write the most unusable piece of shit.