Why fat retards on Anon Babble larp about this programing language...

Why fat retards on Anon Babble larp about this programing language, being objectively the best for videogame development?

images(2).png - 212x238, 3.53K

Because it is.

yes saar pls be using the java language

can you really consider C++ to be the objectively best if you're never gonna finish the game you're making wiht it?

Employed people use c#

being objectively the best for videogame development

False, for game ENGINE development, specifically 3D game engine development. If you just wanna make a jump n run you can use literally anything, it doesn't matter.

Explain why it's so good with 3d game

retard

Someone explain to me why in god's name you would ever need to use headers. When you're working with other languages do you really ever think, "this would be so much better if I could use headers".

don't people say its c#

x86 assembly

rct1.jpg - 1280x994, 822.02K

Isn't C# just the easier one

C is the only language that makes sense
Every other language injects overhead with garbage collection and all sorts of metadata that you don't have a choice. You also can't do things like compile them with assembly. Basically every non-C language treats the programmer like an idiot, or someone in a rush.

Just wait until this anon realises that every compiled language transpiles to LLVM IR.

you need them because of the way c was designed over 50 years ago
C++20 has modules now so you don't need to use headers but compiler support is still iffy

Explain why it's so good with 3d game

The game engine essentially does all of the basic stuff in the game, things like receiving inputs, displaying graphics, calculating shadows, playing audio etc. You want that stuff to be as fast as possible so that you can add more complicated graphics and textures etc. and still have good framerates. C++ lets you do that due to various reasons that you'd need to know at least a little about programming to understand.
C# runs on top of the .NET runtime, which is like another layer of software that manages execution and resources, but that has a performance impact. C++ is compiled directly to machine code and runs without a runtime layer.

ill stick with unity and C#
i will not be switching from this stack unless im able to make a decent quality game with what i have and know now
otherwise i dont have what it takes to build my own engine or switch to other engines and use C++ and i probably shouldnt waste my time pursuing this goal

retard

unity hypnotized people into thinking so

I meant like why was C++ designed to use headers when other languages don't have them. I don't see what C++ gains by forcing a programmer to use them.

Behold this anon, with wisdom beyond his station in life. You will go far, my son. So sayeth I, the old graybeard software engineer.

I actually have a grudge against C. My professor didn't explain pointers well and it caused me to fail the class.

or someone in a rush.

Aka, someone trying to actually ship a product.

For efficiency? It's the best
For getting vidya done? That's whatever language your comfortable with.

The most important thing in vidya-devving, is just getting it done and getting it out.
Optimize later.

compile them with assembly

why do idiots love to larp as embedded developers?

The evergreen mantra of Anon Babble video game development: Just like make game. Every other concern is wasted energy that isn't going into making your game. Notch built a 4 BILLION DOLLAR game with the worst language known to humanity

Because when Bjarne talks, people listen.

bjarne.gif - 540x526, 2.98M

overhead with garbage collection

the overhead from garbage collection isn't what makes it slow.

You also can't do things like compile them with assembly.

learn what an ffi is retard.

to store forward declarations in so you aren't copy-pasting them around. as for why you need forward declarations: compilation is done in a single pass, and the scope of a compilation unit. c++ got this from c, and part of c++'s spec is to not introduce breaking changes like that.

Exactly.
Java is an objective hot mess, and making a 3D game in it is just collecting bug on bug.
But that didn't stop people from playing it and having fun.

We all know why Notch was lazy though. Having to re-touch Java code you wrote a year ago to add something new is something I don't wish on my worst enemy.

Shartyfaggots bringing Trannies out of nowhere

How's that faggy FNAF clone you developed?

Friendly reminder that C runs in C++, so you can use the best of both worlds.
In fact, most all 'C' langs usually have to run C as a base definition to be able to be called "C-Something"
Even Apple's SWIFT lang has the ability to run C and C++, with a little effort.

So...where do I start to learn this shit in the first place?

No you don't get it, it's not real programming unless it only targets a single OS running on a specific processor and only compiles correctly on a 6 years outdated version of MSVC and it requires you to have a specific version of the common runtime in order to not leak 2KB of memory per second! Undefined behaviour is a skill issue, just learn how the compiler works!

Shhhhhhh!
Don't tell him about instruction set translation.

Heck even with C#, you can write a DLL in C++ that just exposes a .NET friendly interface.

What's your goal?
That should be your first question.
Programming languages are tools.
If your goal is to hammer a nail, then you're probably not going to need a screwdriver.

Do you want to make games? Don't learn C++, you don't need it. Your focus should be on game design, learning scripting, and building assets.
Do you want to not make games, but build systems, engines and tools? Then go to:

dont use sepples for your game or engine, this shit is a fat fucking joke. in the age of 10 billion different llvm front ends, choose something with built-in sum types and a single type system rather than this absolute fucking mess.

t. 200k lines into a c++ codebase

Sharty

Not from there but YWNBAW anyway.
Also YWN develop commercially successful software or games by using garbage fotm shit like rust.

bjarne cpp.png - 300x431, 97.65K

Each .c or .cpp file is compiled separately in parallel. To achieve that, declaration for its content is stored in a separate file, that can be used in other files' compilation process.
Also you need headers to use a .dll in your program for the same reason, without headers you don't know what's inside the .dll.

sum types

std::variant

Pick one of the following languages at random:
C#
Javascript
Python

Now go figure out how to make Pong with that language. Use google and documentation, don't just look up a video showing you how to do it.

Also YWN develop commercially successful software or games by using garbage fotm shit like rust

Where do you think we are?

Undefined behaviour is a skill issue

This but unironically. Integer overflow is a feature.

man filtered by C++

retard.png - 812x188, 50.17K

What about GDScript?

godot icon.png - 600x600, 31.44K

UNSIGNED integer overflow is a feature. Signed integer overflow is undefined behaviour, and if your code relies on it, then be prepared for the compiler to optimise away most of your code because "signed integers don't overflow".

its shit dude. the only reason to use it over normal tagged unions is because you don't have to define trivial copy and move constructors. that's great, now have fun never being able to have a default case because the visitor chooses the auto&& case despite having an explicit option with the exactly right constness. it will also make coredumps totally useless, and visual debuggers a pain to use. prior to c++23, the codegen was also completely unusable. it's still the best way to do type erasure, but damn does it suck.

you don't have to define trivial copy and move constructors

which you shouldn't ever need for a tagged union anyways*

I meant it in the sense of "just add a wraparound flag lmao". Knowing the standard is just half the battle. no really why the fuck signed and unsigned overflows treated differently isn't the whole point of two's complement that simple arithmetic just works

(Me)
Unless you compile with -fwrapv of course.

Also YWN develop commercially successful software or games by using garbage fotm shit like rust.

Anon Babble has made actual games, quite a few great ones, even. Nothing of value has ever come from whatever swamp of degeneracy you are from.

Anything that mentions RUST is a god-tier shitpost.

Why I like C++

lots of the most popular tutorials and codebases are written natively in c++. Wanna just use SDL and Opengl? Easy. Wanna use that in C#? You're gonna have to find some binding for it that isn't well-documented

Why I dislike C++

compiling

learning make/cmake and having to manually link every directory together in a messy way and hope nothing breaks

organizing large projects

fucking header files

It's not god-tier, there's a legion of transsexual autists trying to push Rust as the "next thing" over C++ because "muh memory safety", which only sounds good if you know nothing about what memory safety means in Rust.

I refuse to believe that anyone unironically supports rust.

Take imaginary 4-bit integer as example, sign bit is the left-most one.

unsigned

1111 + 1 = (1)0000 = 0

signed, 0 positive 1 negative

0111 + 1 = 1000 = -0, where 1111 should've been a proper wraparound

low tier "coders" use c# and java just like low tier gamers use a controller for shooters. anyone who does anything that matters uses python, c++, or hardware specific lower level languages

rust would be great if they dropped the borrow checker and references from the language desu. all i ever wanted was ocaml with explicit memory management and no currying bullshit.

Rust, C#, Java, Python, and JavaScript are the best languages for games.

Signed integer overflow is treated as undefined behaviour because C is cross-platform.
(laugh now)
On some obscure architectures that no one has ever heard of, the bare-metal signed integer operations do not produce overflow behaviour. In some architectures, a fault occurs and execution jumps to the appropriate interrupt handler. In others, the integer "saturates" and is set to the maximum or minimum. As such, C code that is compliant with the standard cannot assume integer overflow. And because compilers are allowed to assume that the code they're compiling is compliant, you get the "signed integers don't overflow" phenomenon.

This is the same reason that *(int*)&notAnInt is considered undefined behaviour, and in general, why casting between pointers is a pain in the ass. On some architectures, different data types are stored in different memory banks, or some other weird bullshit makes it *physically impossible* to interpret a pointer to one type of data as a pointer to another type of data. As such, compilers get to assume that such conversions don't occur.

Yes, this is incredibly silly considering that about 100% of modern code targets x86.

I can accept c, cpp, c#, java, for fucks sake I can even deal with annoying rust trannies but I absolute deteste and openly call for the execution of everyone who ever wrote or supported python in his life.

Python has its place though, and that place is machine learning. You'd never write a machine learning stack in C#, the ecosystem just isn't there. Python isn't a good tool for everything but it IS a good tool, and you not realizing that makes you retarded.

Do you want to make games? Don't learn C++, you don't need it.

How are you going to program it, doofus?

about 100% of modern code targets x86

source: it was revealed to me in alcohol delirium

you're about as computer literate as rustfags

Try saying that when I curbstomp you one far away day in the future when we finally round up pythong niggers in the streets.

Unironically, god smote me with the most vivid and unsettling semi-nightmare that needs to be translated into vidya form.

What do you think "-0" is, exactly? Hint: it's a value that does in fact allow proper wraparound.

Yes, this is incredibly silly considering that about 100% of modern code targets x86.

??????????????????

sounds like youre mad that python can do the same thing in 10 times less code and still be more performant because it has tons of highly optimized libraries that every other language lacks

ok, what do you think is the lowest value a 32-bit signed integer can hold, and is it -0?

How are you going to program it, doofus?

Anything else? You can make games with Javascript and HTML that actually run fairly well these days

Go write a nestled for loop in python and report back you subhuman disgusting pyjeet.

and still be more performant because it has tons of highly optimized libraries that every other language lacks

This is what Python haters don't understand, there have been decades of people hyper-optimizing all the libraries Python uses. Python is you, the developer, calling stuff that other people have optimized to be as fast as possible. The performance impact of using Python basically doesn't exist, unless you're doing super performance-sensitive things like game engine dev. Obviously nobody would make a game engine in Python. But a game? Of course, why not?

nah, I will just vectorize it and run it on a gpu to be 1000 times faster than your shitty cppode

Don't have to, I'll just call a library that has been optimized to do the nested operation at near bare-metal speed.

it's NESTED you fucking nodev, not NESTLED. You NESTLE into a big, birthy bosom, not a fucking programming loop, you cunt

my dad is a python programmer, he'll beat you

Ah yes, the best way of speeding up a Python program. Porting it to C.

python sucks because its dynamically typed

Shit, do you actually not know what two's complement is? Or do you want to pretend that other ways to represent negative numbers are relevant in any way?
But sure, I'll indulge: the lowest number that a 32bit signed integer can hold is (-1 * 2^16), which is in fact (-0).

implying anyone gives a shit about your whore language abused, stolen and assimilated by every person on this planet

kill yourself anglocuck

Porting it to C.

Half the libraries are already written in C, the fuck are you on about? I swear you retards have never programmed so much as a Hello World in any language.

Programming languages are just tools, and you should use whichever one works for you.

Fact-Frog.jpg - 1004x1011, 90.75K

python is fine
cry about it

Excuse you but how will I feel morally superior for never having completed a project if I don't blame it on the language I chose that I barely understand?

ok, go ahead and build an api with assembly and then pip install an api with python

Is there some kind of joke that python can't handle nested for loops? Cuz I don't recall having problems with that.

And what are you going to do when you need performance-critical functionality that doesn't already have a library? You implement it in C, build your own library, then call it using ctypes. The fact that some common functionalities have already been implemented doesn't mean shit once you need to do something novel.

But I do think that Python is nice when used like this. Very little boilerplate on the top level, no compiling required, it just works.

sounds like a skill issue

you probably dont know, but most performance critical tasks can be parallelized. just like with video games. pixels arent rendered via nested loops

this is why you lost your job to AI

And what are you going to do when you need performance-critical functionality that doesn't already have a library

Then I wouldn't be using Python for that task, retard.

the lowest number that a 32bit signed integer can hold is (-1 * 2^16), which is in fact (-0).

This has to be bait, there is no way this was written by human hands and isn't bait.

It slows down to a crawl due to its awful design being both interpreted and due to dynamic typing. It's GIL also prevents true multi-threading and operates over iterables instead of raw memory pointers.

tldr; it sucks and is slow especially at this specific task

most performance critical tasks can be parallelized

blocks you're path

AmdahlsLaw.jpg - 640x500, 66.19K

the 5090 has 21,760 cores

That's like using a hammer to drill screws or a screwdriver to drive in nails.

The fact that Python pulls a consistent 0% doesn't help you here buddy

How feasible is it to learn C++ if I'm a codelet who struggled with learning Python from Khan Academy? I've been thinking about learning it from LearnC++ since it's supposedly a solid free guide

Python sucks because "engineers" use it for more than just basic math and file I/O like it was designed for.

you probably dont know, but most performance critical tasks can be parallelized

What kind of statement is this? This doesn't even make sense, where does the confidence in this statement come from? If a task is performance critical is neither here nor there, what matters is the dependency on parallel data. If I want to calculate 100 finance transactions but each is dependent on the previous there is no way to parallelize that no matter how critical the performance is.

Shit, I still expect GPUs to have 2k vertex and 2k raster cores.

Just don't use blockchain. Maybe trade crypto through some company that manages the exchanges of crypto derivatives so that each transaction doesn't have to burn through an entire GPU.

Learn programming, not a programming language. All programming languages have the same basics.
htdp.org/2019-02-24/index.html

I'd say personally it's not hard, but if you struggled with python which is basically C++ but without surprises, manual memory management and thousands of symbols long template error messages...

nooooo my loop iterates in microseconds instead of nanoseconds it's over

python which is basically C++ but without surprises, manual memory management and thousands of symbols long template error messages...

you are retarded

don't do this, just join a coding bootcamp and get a $70k entry level coding job in 12 weeks
you DO want to earn money coding, right?

I-i am n-not owned at all! I just di~ didn't think about how division interacts with exponentiation, yeah!

no argument

you are retarded

he doesn't know

You have no idea what you’re talking about.
You know what you’re talking about. There are no more coding jobs.

Nigger only visited the basic programming course at his university and never learned that there's languages following entirely different paradigms

because when it comes to programming/coding, Anon Babble tends to value "quantity of potential you could use it for" rather than "what you actually need to do"

and its a same case with game engines, Anon Babble loves to shit on things like Unreal, Godot or whatever, but fails to consider which one is best for whatever purposes someone might need

Fuck off Joel

but fails to consider which one is best

all you need is C and raylib
simple as

You know what you’re talking about

Gracias. I also concur:

There are no more coding jobs.

The industry has shifted quickly and greatly. This bootcamp advice is no longer relevant and I imagine many bootcamps are going to die. You can't just do easy shit and work as a "programmer" anymore. You have to actually know what you're doing because all the bottom-feeder grunt shit is absolutely being taken over by AI now.

is absolutely being taken over by AI now.

By AI I mean Always Indians, of course, not artificial intelligence.

I honestly don't get what makes a language preferred. Compatibility? Built-ins? Libraries? Lower level control? It all just feels the same in the end.

Man I just don't know what tools are for. Hammer? Screwdriver? Table saw? Router? It all just feels the same in the end

ESL post

shilling the language made by Microsoft because indians are to retarded to understand C++

considering C#'s actual origin, a better followup would be

because indians are too retarded to understand java

file.png - 448x57, 39.27K

c and c++ have no usecases anymore with languages like rust out and carbon on the way

Let me translate:

It's ma'am!!!

I usually say learn it for any job, not just gaming

t. made a neat cli that manages his booru images (good job!) but hasn't shipped anything safe and secure to the outside world

coherent and prudent statement

fuck off with that gay nigga shit you faggot
whatcha gonna post next, that your choice of language doesn't matter if you don't release the game in the first place?

pure C is cringe. I like function overloading and in some cases templates.

Car tires can deflate so we need to replace them with concrete wheels

Pust

safe and secure

chat, do we tell him?

They've never tried to program a GUI with it.

Why don't you learn it and find out, you fat retard?
But that's the thing, most finished, released, working software is written in C++
Not just games

What's wrong with Qt? Seems to work fine for me.

Weirdly specific, reads like projection. Also forgot the meme arrow, therefore you look like that and say that.
Want to post screenshots?

There's a ton of great UI libraries written in C/C++.

Which paradigms are those you fucking retard? Are there computers that don't have memory? Did you reinvent electricity? Shut the fuck up. I've forgotten more languages than you've ever known.

Name 5.

being objectively the best for videogame development?

it’s not 2014 anymore, we have a million modern C meme langs now