[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/v/ - Video Games


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: 59276.png (15 KB, 280x280)
15 KB
15 KB PNG
No one wants to learn this. At least in blender you can create cool shit, this is just boring.
>>
>>724709617
Why learn when you can vibe code now
>>
The ACTUAL great filter is marketing. Holy fuck I hate marketing.
>>
>>724709674
you can outsource this tho
>>
>>724709660
ai is strictly for sex, i just cannot see myself using it professionally after having sex with it.
>>
>>724709812
I like to have sex with my ai characters and then afterwards in-universe I open up my laptop and start asking them programming questions.
>>
>>724709617
People independentfromenginesdev only when they have the neet amount of free time
>>
You can use ai for the vast majority of simple game functions
>>
>>724709713
You can avoid learning C++ by using an engine.
>>
>>724709617
Use Unity to make games until you see a need for your own engine. Then, build something that you can use for many future games you'd want to make. The familiarity you built with your first couple games helping you both build the engine and know what you need.
>>
I hate pointers!
>>
>>724710432
this
fuck pointers
>>
>>724709947
the issue is that enginedev is often just a solution searching for a problem
if you have high enough powerlevel and a coherent goal, then making an adhoc engine for your exact twisted needs is reasonable consideration (see also: noita)
but how many concepts and projects really need that? do you want to release a game or do you want to tinker forever? is engine bloat the key contributor to technical issues, or are you a yandev-tier retard who doesn't know what DSA means?
>>
>>724709617
Learn C instead, it compiles faster and has less bloat.
>>
Is there any actual downsides to using AI to code if you make sure you've learned the language and analyze what the AI produces? It isn't too different from searching up and copying a tutorial. Over time of analyzing the code it makes you are likely to see some recurring patterns that you can quickly add on your own to other code snippets when you find applications for them. At the end of the day, as long as what you create is enjoyable and works, no one is going to care about how it is made. If you understand the language, you could reinvent everything you need over time if you ever found yourself in the ridiculous situation where you need to code but somehow don't have Internet access.
>>
>>724711897
Trying to constantly tard-wrangle the AI will get on your nerves pretty quickly.
>>
Software written and maintained for several years in C++ = Always garbage
>>
>>724711897
I don't see how having to code review and rewrite all the garbage the AI spits out is any faster than just writing it yourself.
>>
>>724709617
I'll get around to learning it, I'm just a little busy dealing with CSS, JavaScript, and React. I need to focus on getting hired as a stack developer before I can even consider the more advanced programming languages.
>>
>>724711897
There is a conceptual problem of outsourcing your thinking, as well as a practical problem of relying on unreliable dipshits. Magnified compared to copypasting stackoverflow solutions, especially since you seem to not have any experience or education. Also the volume of your post makes it sound like preemptive excuses. As with anything from illustration to nihingo, getting good requires effort and talent.
>>
>>724709617
If you try to learn the entirety of C++, you're being retarded.
You learn what you need to learn, and if you find a particular code to look too fucking ugly you go back and learn more to see if you get it to look cleaner.
Also your code will be more readable if you learn C first, then "expand" the code with C++
>>
>>724709617
C++ is fun because you get to juggle memory and pointers yourself and do other arcane C magic, it's like a puzzle game.
C# that Unity uses, now that's boring. You are not allowed to do shit, it's slow regardless of what you do, and everything has a ready-made solution that you have to know about because you're not doing it yourself with the tools you're given.
>>
use Beeflang instead
>>
>>724711897
The downside is that you have to review and test everything it does.
It's like giving the job to a junior dev, except you know for a fact that the AI can't think, unlike the junior where it just sometimes feels like it.
>>
>>724710432
>>724710542
los retardos
>>
Trying to make your own game engine in a trap unless you're already a good programmer and really want to lean on a unique mechanic. No one cares about how many triangles your game and spin at once without dropping frames.
>>
>>724711897
Standards for programmers and the tech industry in general are so low. I suspect that's why AI code is being welcomed at all.
>>
>>724710432
>>724710542
Pointers weren't as bad...hashtables/trees however
>>
>>724711897
AI will constantly over design, rename, comment out the ass like a "freshmen cs major" meme and in general will produce uncompilable crap or something that works but you now have to spend forever wrapping your head around and adjusting to fit in with the rest of the project. Its a terrible process. The better use is write it yourself and plugin sections that are failing into AI for it to point out the issues and suggest fixes, but even then its questionable results at best.
>>
>>724714340
>Standards
What does this word even mean anymore
>>
>>724714540
Being a tech-illiterate normie must be rough.
>>
File: 1759260142976299.jpg (122 KB, 640x824)
122 KB
122 KB JPG
>>724714008
im making a game in a little known game engine, i chose it because i like coding in c++, and the engine was c++ first. but its going a bit slow, how do i get or hire someone to work on with me?
>>
>>724709660
>vibe coding C++
Ahahahaha
>>
>>724714553
The general accepted level of quality. And he's correct.
>>
>>724714008
Enginedev is fun
>>
>>724714775
How the fuck do you arrive to that conclusion nigger? The faggot im replying to is the one avocating for being a drooling retard and im just telling how it is as AI fails entirely at understanding software architecure and often confuses what language its even working from.
>>
File: pooop.jpg (743 KB, 2000x2000)
743 KB
743 KB JPG
>>724709617
>At least in blender you can create cool shit
blender is written in C++ with a python interpreter grafted on, you retard
stop whining and skill up, you've been gifted the best tools that have ever existed at the outset, unlike the old ones that actually wrote the tools
>>
>>724709617
It's hilarious that anyone still uses c++ for indie game dev as if performance matters for your 2d pixelshit or low poly 3d game. Like 99% of indie games would run just as well written in python.
>>
File: unsafe C#.png (14 KB, 595x300)
14 KB
14 KB PNG
>>724712752
Well boy do I have news for you.
>>
>>724715549
the faster computers get, the shittier code gets, so everything balances out to nothing getting any better
>>
>>724714780
Work by yourself. Imagine you make a game for 10 dollars and it sells to 100k people. That is a simple million dollars. If you have other people though, you'll have to split that. Too many indies gather teams of extra people that turn what could make them rich into something that can barely pay rent.
>>
>>724714340
Are you kidding? Standards today are like 100x higher than what they were just 10 years ago. You basically have to be a mathematical genius able to solve hard leetcode problems with your eyes closed to even have a chance of getting an entry level job today.
>>
>>724715675
lol, pointers are never going away because they are a fundamental concept of computer architecture, and the people that won't accept this have to insert stupid shit like this into their languages as a white flag
>>
>>724715805
>Standards today are like 100x higher than what they were just 10 years ago
lol, lmao, you clearly don't work in industry
>>
>>724709617
>insane function signatures and cryptic compilation errors
barf
>>
File: file.png (637 KB, 738x648)
637 KB
637 KB PNG
>>724715768
Ermm, actually that would be about $700,000 (pre-tax). Unless you want to self host.
>>
>>724715805
Hiring standards in a bad job market =/= product standards for normie consumers.
>>
>>724715719
The benefit is that you never have to touch the dogshit language that is c++. Working in python or c# or even java makes you an order of magnitude more productive than using c++.
>>
>>724715442
Only if you're a specific kind of autist.
>>
>>724715909
I used to, but I've been unemployed for almost 3 years now. In the 2010s it never took me more than a week to find a new job. The level of people you're competing with today compared to back then is insane.
>>
>>724712752
absolute clown take
you have never written enterprise software in your life
nobody is going to pay you to fuck around and build your own garbage when there are available solutions provided by whatever fuck framework you choose
use the libs provided, read the docs, rope yourself
>>
>>724715909
Maybe if you're a literal jeet living in India. The IT el dorado is over, job offers for juniors are dwindling.
>>
Why are 4chan threads about creative topics always so faggoted and schizophrenic?
>>
>>724715768
The chances of making a game that sells 100k by yourself are astronomically low
>>
>>724715768
i considered that, therefore want to pay upfront i have 200$ i can spare each month, is this something that is done? i imagine other coders would not be willing to learn a new engine for 200$
>>
File: 1569802380862.gif (786 KB, 250x141)
786 KB
786 KB GIF
>>724716101
>>
>>724715845
Yeah. Eventually, all languages need some way to link dynamic libraries. And your language's runtime has no way of verifying that a dynamically linked function isn't returning a pointer that's invalid in the library's semantics. So unsafe is necessary.
By the way, for this very reason, the term "systems programming language" is complete nonsense. Every useful language has a way to interface with the system natively. There's nothing preventing you from writing most of an OS in Java.
>>
>>724716457
>programming
>creative
>>
>>724715509
Why do you affiliate yourself with drooling retards?
>>
File: file.png (87 KB, 797x297)
87 KB
87 KB PNG
>>724716671
>There's nothing preventing you from writing most of an OS in Java
You're correct, but that's like saying there's nothing stopping you from digging up a swimming pool with a spork.
>>724716773
picrel
>>
>>724716508
im pretty confident i can get 1000 sales on steam, selling for 10$ each. iv'e browsed steam and seen what gets around 200-500 reviews and believe i can match the quality and intrigue these games seem to have
>>
>>724716839
That's not creative, that's just code copied from some mathematical research paper from the 80s.
>>
>>724712752
>C++ is fun because you get to juggle memory and pointers yourself and do other arcane C magic, it's like a puzzle game.
that's fine timmy but we need this feature done and shipped and no 'when it's ready' will not work
>>
>>724715909
Stop talking to yourself
>>
>>724716847
>im pretty confident i can get 1000 sales
Reread his post. You're off by a few zeroes.
>>
>>724711897
ai vibe coding produces actual garbage . if you make it slow down and "plan out" all of the necessary work, you can make small to medium ish changes at a passable quality, but it takes so much extra time (and it's still pretty hands-on because i have to make many nitpicks to adjust its output) that you're still better off writing it yourself as of today. at least this is my experience using claude sonnet 4.5 at work. absolutely not worth the cost either, im just lucky to work at aws where we get it free
>>
>>724711897
it can help in that it will basically force you up tier
>you now have to proof and check interns work
>>
I mean in this job market, C++ is king. The people crying about not getting a job are trannies who did some javascript or code camp shit
>>
>>724716508
There are a bunch of games that get that much by copying vampire survivors
>>
>>724716953
kek, i was. if i get 5000 dollars after steam tax and taxes i consider it a succes
>>
>>724709617
>No one wants to learn this.
More like no one knows how to use this.
There's not a single person on this planet who knows everything about it. Imagine using a tool where half of its functions are completely unknown to you.
>>
>>724717256
Where are all these C++ jobs? Indeed has 19,000 open JavaScript jobs and only 3000 C++ jobs.
>>
>>724717395
That's because the committee refuses to deprecate redundant features for the sake of backwards compatibility.
>>
>>724717445
The competition for the tranny JavaScript jobs will be 10x higher.
>>
>>724717612
Ok, but there are 6x as many jobs, so that negates most of extra competition. It also gives you much more freedom to choose where you want to work. You're never going to find a C++ job in a low cost of living area in the middle of nowhere, but you'll probably find a web dev job.
>>
>>724709674
Truth. I fucking hate the idea of shilling my game everywhere. Is there any hope for solodev?
>>724709713
Unless you get some proper publisher that deals with indie games then you're more likely to get scammed than to find video game marketing contractors that will actually market your game.
>>
>>724709674
I think you should spam your game on /v/. Only trannies will get mad
>>
File: c_integers.png (72 KB, 1272x1024)
72 KB
72 KB PNG
>>724710432
>>724714483
I hate a lot of things about C but holy fucking shit, pointers are like the most basic easy stuff, how can fucking pointers filter you?
>>
>>724709617
programming is the easiest thing in gamedev. There are tutorials for everything. The giga web scrapper 'AI's can copy paste solutions for you. You build the whole game prompting snippet by snippet.

The hardest thing is asset making / pipelining. It can take a LONG amount of time. Competition is fierce. If you game is not visually appealing you can lose a customer in 3 seconds, if he even saw your game in the first place.

Unless you exploit the casino brain. There, the only way to make it with the least amount of effort. Spam casino games until you make it, put some fotm memery.
>>
>>724712537
>Software written and maintained for several years = Always garbage
FTFY
>>
>>724718347
The syntax can trip up beginners, since the asterisk is used in both declarations and dereferencing. Imo, dereferencing should've been @ rather than *.
>>
>>724718347
>right: genders
>left: mental illnesses
I thought Rust was supposed to be the tranny language?
>>
>>724711897
AI and vibe coding is just one additional level of abstraction over normal programming. If you prepare the context, write detailed prompts, add guardrails, establish rules and verification steps and plan everything out you can get surprisingly good results and speed up your workflow tenfolds. If you just go "Hello ChatGPT, write me a game engine in C++ that looks and plays like Quake 3" then you will get garbage.
The hard part is that you need to actually know what the code you get from LLM is doing so you can verify and adjust it yourself.
>>
>>724718805
Majority of the types on left are just typedefs (aliases) for each other, the image is disingenuous.
>>
>>724718347
I specifically said that what filetered me was hashing rather than pointers
>>
File: 1759017719148507.jpg (161 KB, 1080x1080)
161 KB
161 KB JPG
>>724715972
sell me on self hosting
>>
>>724709617
for a superset, C++ sure does take all the fun out of C
>>
>>724709864
Based.
>>724709812
This is retarded take, AI was primarily for programming first and data analysis. It wasn't until after coomers found it and made it into fuckable characters with quite the heavy lifting efforts.
>>
>>724709617
The actual nightmare is getting fucking SDL to be recognized by MinGW, c/++ itself isn't that bad other than the headache guaranteeing bullshit gcc spits out at you
>>
>>724712590
That's because you're a retarded piece of shit why has never coded anything non trivial and doesn't know what to prompt anyways and has never used a coding focused model
>>
i cant barely code in python im not gonna bother with c++
>>
>>724717256
If you can land algo trading job at large bank then it's peak comfy. But it's hard as fuck to get such job. C++ jobs in gamedev are terrible and low pay, and embedded is a fucking nightmare, stay away from that. There aren't any other C++ jobs.
Meanwhile 90% of C# jobs are comfy financial corporations where you make CRUDs for sharply dressed office ladies from accounting and auditing and they start to like you very much for making their job easier.
>>
>>724718247
Did that ever worked out, except for Minecraft and Stardew?
>>
>>724720179
>embedded is a fucking nightmare
True, but it can also be fun? Plenty of opportunities to learn new things.
>>
>>724718770
i can actually remember all of C's syntax, unlike "simple" languages like python
C is a very small language, and its design is astoundingly good and has stood the test of time. it will always be there to carry the weight of everything above it.
>>
>>724719728
It's bullshit, it't not 1990's anymore. Nobody will ever find your game, and if they do, nobody will ever get it because zoomers are too dumb to understand computers and installing something without steam is black magic to them. Your game will sell 10 copies to autists and linuxfags.
>>
>>724720118
python is not a beginner's languages, contrary to popular belief
(neither is C++, but no one will pretend that)
>>
>>724720375
>I'm socially retarded and inept, python's plain language is too difficult for me thusly.
>>
>>724720453
Starsector made it
>>
>>724720523
2013 was 12 years ago.
>>
>>724713858
>>724718347
>>724718770
ngl the worst part about pointers is just the confusing ass syntax and I didn't get used to handling them until I tried rust where the way you mark and cast them is a lot more readable.
>>
>>724720620
> void (*x(int, void (*y)(int)))(int);
C can look good and can be readable, but holy shit it can be frustrating.
>>
>>724720523
and it wouldve made 1000x more money if they just released it on steam
>>
File: 0sdikokk7de71.jpg (24 KB, 512x215)
24 KB
24 KB JPG
>>724720483
I laugh every time when I see beginners learning python because someone recommended it to them as good thing to start with. Python teaches so many bad practices, it's almost like pic related.
>>
>>724720503
>i don't understand the data structures i use nor their time-space complexities and use cases
>>
>>724720727
every typeless language comes to the same conclusion about 10 years into its lifetime that types were actually a good idea and fundamental for making reliable and robust code
python added on useless type hints, and typescript was born out of javascript for the same reasons
turns out their is literally zero (0) use for a typeless language
>>
>>724709617
c# is fun but you have to like coding. you do not need c++
>>
>>724721132
Python, javascript, html and c++. Only things you need to start vibe coding.
>>
>>724721132
I’m only learning Python to help with gdscript tho
>>
c++ is easy.
c is actual hard mode.
>>
>>724721747
you can just write c in c++, when unconstrained by engines or frameworks i just dont do inheritance
>>
File: hereyougo.png (410 KB, 1490x1390)
410 KB
410 KB PNG
>>724710432
this should make things clear for you
>>
c++ isn't that hard, you have tons of tutorials (and llm's) to help you
>>
>>724709617
idk well-made program makes my pp harder than amateur and 99.99% of professional 3dslops and writing a good program or module yourself is more rewarding than making a 3dslop, I wish llms got good at 3d already
>>
>>724721747
>c++ is easy
I lost that fake copypasta "from" one of C++ developers basically saying the whole language is just a one huge shitpost. Sure it's fake, but it's more than plausible.
>>
>>724721747
wtf are you smoking? C is easy as pie.
>>
>>724709812
the exact opposite is true for current ai
>>
File: 1739824495946124.jpg (106 KB, 828x1326)
106 KB
106 KB JPG
>>724718898
>the image is disingenuous
I.e. like average = all /pol/tard drivel.
>>
>>724721882
Inheritance in C++ is useful precisely in those cases where in C, you would implement a vtable.
Almost never.
It can also be used to abuse the template system.
>>
>>724711897
actually reading the code an llm spits out would already make you in the top 1% of vibe coders.

i see a lot of people trying to use it as the main programmer and i dont think they're very good at that tbdesu. their context windows are just too small, they start hallucinating halfway through complex tasks.

the best use ive gotten out of ai for coding is just asking claude shit like "hey what kind of algorithms are there for partitioning space in an efficient way for games?" and then having it spit out relevant algorithms like bsp trees and octrees. its also been pretty decent at explaining what some random obtuse bit of code does, like ive fed it gameboy assembly without any symbol files and its managed to correctly explain the code

its like pair programming with someone who has no longterm memory but also a (sometime extremely outdated) encyclopedic knowledge of every popular programming library, api schema, and algorithm. but even then it can hallucinate hard so i always end up double checking the docs anyways.
>>
>>724719728
My mom's an accountant, you'd have to ask her. I don't know shit about business.
>>
File: b99.jpg (47 KB, 680x680)
47 KB
47 KB JPG
>>724709617
No one wants to learn programming because no one respects programmers
Why bother when you can just learn to draw generic big boobs coomer slop and post it on Twitter and get 100000x the attention you would have gotten otherwise, attention is all the matters to most people

>>724718805
>>724718898
You can literally just do "typedef unsigned char u8" etc. and not have to deal with any of that shit. No point in even arguing with these strawman fallacy niggers
>>
>>724719960
Lmao, pyw bitch.
>>
>>724722346
The language itself is, but implementing a big and complex system (such as videogame) in it is harder than in a language with better abstraction mechanisms such as cpp.
>>
>>724722970
you can study anatomy all you want but if you dont have an appealing art style then nobodys going to care. nobody wants to look at boring stuff
>>
>>724721132
My college had Python as the language of the introductory course and it was fucking terrible. The only thing worse was that most of the later classes used fucking Java. I learned more coding on my own time than at college (though I won't say at least some of that wasn't my own fault).
>>
File: icon_of_java.jpg (257 KB, 640x480)
257 KB
257 KB JPG
>>724723165
sounds like you just aren't good enough to become an icon of java
>>
>>724722970
>Why bother when you can just learn to draw generic big boobs coomer slop and post it on Twitter
>Why potentially earn a six figure salary when you can get twitter likes
>>
>>724723110
It is like programming. People care about the result, not what goes into it.
>>
>>724715805
no op, they just dont want to hire americans/europeans when they could instead hire an h1b for 1/5th the cost. they just make up bullshit reasons to reject you (or straight up sending any onshore resumes straight to the hr email trash)
>>
>>724723510
well it's not only that, indians in management will always prefer to hire indians. It's actually insane
>>
>>724715845
im just glad the language designers even give us the option to handle shit ourselves, cuck mentality i know but if im going to have to use that shit anyways at work...
>>
File: puppychan.jpg (209 KB, 1357x758)
209 KB
209 KB JPG
>>724723304
you can't take your money with you when you die
attention and influence lasts forever

>>724723110
>>724723457
what "appeals" to people is what makes them horny, regardless of whether it actually has artistic value or not
why bother putting in any effort when you get the same amount of attention by drawing low effort goonshit
>>
>>724723090
nah, if linux can be written in C, anything can
>>
File: file.png (236 KB, 550x550)
236 KB
236 KB PNG
>>724723806
>you can't take your money with you when you die
>he doesn't have a tomb and sarcaphagus prepared with all his wealth stashed away
NGMI
>>
>>724723510
hallowing out of tech/engineering - enshitification by 'shareholder value'
>>
>>724723993
>In 1978 paper, Ken Thompson estimated that the UNIX kernel was about 10,000 lines of C code.
>in another 1978 paper, Dennis Ritchie and colleagues put the size of the PDP-11 C compiler at 9660 lines.
>>
>>724718347
This is mostly for cross-platform code.
Imagine the following:
>You're writing a library for embedded systems.
>You wish to store a value for which 16 bits are enough.
>You write the code and test it on a target machine. It performs terribly.
>Turns out, you used 32-bit types despite the machine being 16-bit, so the compiler emitted code that has to emulate 32-bit operations using platform-native instructions.
>No matter, you'll just use 16-bit types instead.
>It runs well.
>A month later, you are trying to debug a performance issue in a program using a library but targeting a 32-bit platform.
>You look in the platform's instruction set manual and figure out the reason. It does not support native 16-bit instructions.
What a travesty! Seems the code cannot be made cross-platform. But there is a solution to that. Meet uint_fast16_t. A type that is at least 16 bits wide, unsigned, and is guaranteed to be the most natively supported among such types.
>You're writing a library for an embedded system.
>You wish to store a value for which 16 bits are enough
>You therefore use uint_fast16_t everwhere.
>It compiles and runs well on all platforms.
>When targeting the platform that supports only 32-bit operations, uint_fast16_t is a 32-bit type.
>When targeting the platform that supports only 16-bit operations, uint_fast16_t is a 16-bit type.

Such issues do not come up when writing Rust code because no one uses Rust for embedded systems.
>>
File: poop.jpg (24 KB, 250x193)
24 KB
24 KB JPG
>>724724725
i have the source code for that version of unix
of course, unix isn't linux, and modern linux is far more complicated than 70s unix, even ignoring all the driver stuff
>>
>>724725261
>no one uses Rust for embedded systems.
oh they're trying
>>
>>724721132
Whats wrong with learning with Python first compared to starting out with other languages?
>>
>>724710321
>use unity
lmao
>>
File: flstudio-imageline.gif (29 KB, 640x640)
29 KB
29 KB GIF
>>724709617
nah it's easy
pic rel, on the other hand..
>>
>>724727223
bullshit. make a tic tac toe clone with mouse input
>>
>>724709617
C++ is the best language. Full control, full speed, full power. Lots of libraries and functionality.

Sure, a huge codebase with multiple devs working on it becomes a shitshow because of all the different ways to write C++, but for the solo dev it does algorithmic stuff so fast.
I created a really fast Rubik's cube solver & implemented Gomoku with a strong AI in C++
>>
>>724727378
if its so good wheres C++ 2?
>>
>>724718347
i think people memed themselves into thinking pointers are hard. they're not hard because they're difficult or hard to understand but because people go in with the mindset of "well some guy on the internet said they're hard so they gotta be really tough"
>>
>>724727627
If it's so good, why would there be a 2?

Arguably, Rust is C++ 2 maybe? idk it looks good on paper but I'm unfamiliar with the syntax so it looks less readable
>>
>>724727290
Can I use SDL?
>>
>>724727627
C++ is 2, you're thinking of C**.
>>
>>724727627
Dead game. Everyone plays C++23 now.
>>
No one should learn this if they intend to make games.

>>724727627
C++ gets a new release every 3 years. No sequel but a lot of useless DLC.
>>
>>724727716
>Rust is C++ 2 maybe?
that's the gist of it. The problem with rust, is retards want to use it as a C replacement
>>
>>724727716
Rust is C++ without the C interoperability, and with a system for statically proving safety.
This is to the displeasure of Rustfags who for some reason refuse to think of their language as anything other than a way to replace C.
>>
>>724727627
Look up D
>>
>>724727673
Real programmers pre-allocate their entire memory footprint and have the first thing the software does be telling the system to make every other application get the fuck out of the specific address space they want to use.
>>
>>724728463
>tough guy doesn't understand virtual memory
Colour me surprised
>>
>>724728586
I was about to comment the same, but it was written in jest surely
>>
>>724727627
we have c++20
>>
C++ isn't that hard, but I learned C first so that's probably why I thought it was relatively easy.

OpenGL, on the other hand...
>>
>>724709660
AI needs constant tardwrangling for anything other than very basic things.
>>
>>724728972
For me, it's OpenCL that's a nightmare
>>
>>724729037
Now junior coders finally understand what it's like to be a project manager
>>
>>724727627
It's called C#. The # is 4 pluses.
>>
>>724709617
If I know some c and oop, is c++ worth my time?
>>
>>724729672
No.
>>
>>724729672
Yes.
>>
>>724729672
>is c++ worth my time?
Yes, templates are very cool.
>>
>>724729672
maybe
>>
>not using AI to learn
NGMI.
>>
>>724730813
i was gonna use google ai but it use javascript. yuck
>>
>>724729672
Dev jobs after entry-level will require experience which you can't get. If you already work with C you shouldn't bother.
>>
>>724709617
Why would you learn C++ for gamedev?
>>
>>724728972
indeed, the way to go is C => C++ if you have time
Opengl is trash, you should learn d3d12/vulkan/metal/webgpu instead, especially with a C background. It's much more explicit.
>>
>>724731738
You don't unless you're an engine/graphics dev.
>>
>>724730813
>be c++ dev
>try to get ai to help with weird bug to save time
>ai keeps running me in circles with things unrelated to said bug
>get fucking tired of its bullshit
>add a couple print statements
>find bug
>ai wasted more of my time than it saved
>tell ai what the bug really was
>ai tells me it knew what the bug was the whole time
>gives me a lecture about how it was right and i was wrong
>disable ai in IDE and never use it again
that's my experience with ai and c++. if you're using like python, sure. anything even slightly complex or not in a single source file, good fucking luck with that. it's also good if you just use it to google shit for you and summarize it too.
>>
>>724710851
>if you have a high enough power level
>you can make a tech demo
>whether or not it becomes lightning in a bottle streamerslop that everyone buys... uhhh...
>>
File: 1732999933811287.png (305 KB, 640x862)
305 KB
305 KB PNG
The problem with C++ is that it's syntax has grown over the years to become a horrific mess. It's that drawer you've put every tool and doodad to the point it's impossible to find anything.
>>
>>724732549
>Opengl is trash
why? I'm thinking about picking a basic computer graphics course and we can pick what we want to learn in it so it's either vulkan or opengl probably for me
>>
Why is OpenGL considered bad? Poor documentation? Retarded syntax? Shitload of boilerplate? Relies on hacks? Doesn't have basic things you need to implement yourself?
Even if it's good somehow, why are people still using it? Sure the other graphics APIs should be superior in every imaginable way to a 30 years old library?
>>
>>724732864
Because it's old, everything is hidden, I don't like the "state" system where you bind stuff.
Also any engine follows the naming convention used by modern APIs, in particular d3d12. For example the "view" of a resource.
So you need to know about the general concepts such as views, descriptors, graphics pipeline to work with a modern engine, properly use render doc, etc.
With Opengl you learn none of that.
My advice is you're "new" with graphics programming.
>>
>>724732807
The upper one isn't generic thougheverbeit
>>
>>724729037
This. I asked AI to optimise some code for me the other day and it ended up breaking the fucking thing, multiple times.
>>
>>724718347
I can't tell if this image is C is shit and has autistic naming schemes or Rust doesn't have enough types, is shit and has autistic naming schemes

I also assume if you're a leet programmer you could just make your own lib or something and import it for every project where you make your own types that are just a name change you understand and they just inherit the primitives and you're just hoping the compiler crunches it down if performance is a concern
>>
Why is the Animationcontroller in Godot so fucking shit? It's like, preloading every animation it has access to or some insane shit. If I'm in the editor, I don't want to sit there for five minutes waiting for you to preload all of my big heavy animations. Just load the animation I ask for when I ask for it.

I swear it feels like nobody actually tests this engine on anything resembling a real use case. This has been a problem for years. I have a $4000 computer and godot takes upwards of five minutes to load my project every single time, and another five minutes if I want to preview an animation.
>>
File: 31.jpg (321 KB, 1920x1080)
321 KB
321 KB JPG
Any tips for making a game? I only have a basic idea, maybe a few scenes in mind a general aesthetic/tone/world layout for the game and characters.
Do I actually need a team of professionals to make a real game? Where do you find them then, I mean really passionate people who likes your ideas enough to expand on them or add something completely new? Pic related has maybe 3 hours of content but even that took 4 years to make.
>>
>>724732807
C for Clean
>>
>>724734890
I'm just a graphics programmer, but if I was an idea man, I would use Unreal Engine for prototyping with Blueprint.
>>
Guy who decided to pick up gamedev as a hobby a few days ago and has been learning C++ since, is there any good reason to you guys shitting on C++? Should I seriously consider switching to C, and if so should I do that after learning the basics of C++ and making some stuff in it?
>>
>>724737441
No, C++ is fine. Yes it can be a bit bloated and verbose but just use newer versions and pick and choose what you need.
>>
File: expertCProgramming.jpg (153 KB, 1078x1256)
153 KB
153 KB JPG
>>724737441
You should probably learn C first for like a month or two then move on to C++ imo. Jumping into C++ first means you'll be learning both anyways and C explains some stuff better than C++ like pointers.

Here's C How to Program Seventh Edition, my favorite book on the subject so far. It goes over C and C++ in a digestible way.

https://litter.catbox.moe/2m70kq3rhpa377js.pdf
>>
>>724712537
I work on a large codebase which is 15 years old, mostly C++. The language is one of the main things holding it together. The compiler often poopoos on me when I try to do something retarded, and that's a good thing.
>>
>>724737441
No, C++ is good, especially if you already know it and have some shit working. Most of the C++ hate is cope.
>>
>Unreal Engine uses C++ (version 99 or smth)
>It doesn't use virtual functions
>>
>>724737441
If you're going straight to learning programming without using an existing engine you're doing gamedev on hard mode. But learning C++ is a valuable skill even outside of gamedev.

Computers only understand Binary Code (1s and 0s), above that is Assembly Language where you're writing instructions for computer hardware, above that is C, above that is C++, and above that is C#. The higher up you go the more human readable the code is and usually the easier it is to work with, and the lower you go the more direct control you have and typically the higher performant things are but the harder they are to work with.

Depending on how you learn best you could go from C#->C++->C or C->C++->C#. At work we use C# for the modern conveniences and offshore resources, but technically using C++ or C would probably result in better performance.
>>
File: c++++++++.png (358 KB, 476x795)
358 KB
358 KB PNG
>>724727627
It's already here.
>>
>>724739591
Unreal C++ is basically it's own flavor of C++
All kinds of macro header annotation stuff
>>
>>724727627
Just call C++ again, brother.
>>
>>724737441
C is better for learning programming fundamentals as is a very small and simple language. If you want to make a game, you'd better use a readymade engine tho
>>
>>724737441
Nobody likes writing software, I would recommend switching to a different activity, because you're not getting a job in this market.
>>
How is C++ used in gamedev?
>>
>>724740724
to make the peepeepoopoo stinky
>>
>>724740224
I like writing software. I wish I got to do it more, t's all bug-hunting or testing recently.
>>724740724
It's for autists that want to do everything themselves.
I'm going to do it at some point. Just get SDL running and do some real simple shit.
>>
>>724723090
You should program your game in a data oriented fashion anyway. OOP for Vidya was a mistake
>>
>>724732807
>>724732807
C++ is overengineered mess. Meanwhile same thing in C#...
>>
>>724741163
>It's for autists that want to do everything themselves.
how else are you gonna make your game?
>>
>>724740724
Games can be developed in any language. C++ is one of the best languages for performance, so it's good to use for games where performance matters. However, it require more programming knowledge and intelligence to work with than just using an existing game engine.
>>
>>724741301
Start up Godot or some other engine and do it in there.
>>
File: kaedegun.jpg (11 KB, 194x260)
11 KB
11 KB JPG
Is there a crash course on how to make passable catchy music themes on DAWs or is this gonna be a "I have to do it for a few years before becoming halfway competent" type of thing?
>>
>>724739636
I do want to write my own engine when making my games since I think it would be fun. I have no experience in it though so I naturally have yet to see if I would enjoy it, and I do understand that having to start from the absolute basics every time you want to make a game is inefficient and will just be irritating if you don't enjoy the process of it.
>>
How do I look up in what language my favorite game is written in?
>>
>>724741258
You can see the stain of over syntax spreading
>>
>>724739561
>Most of the C++ hate is cope.
I legit had a buddy stop talking to me because of this shit. He's a self taught web dev. I'm self taught C/C++. He started shitting on me one day because, "all you C++ programmers think you're better than everyone else." It just came out of nowhere. So, he tried following some Youtube tutorial to make a game to prove to me how easy it was. I just started writing my own game too for fun. Three days in, I had a semi-functioning game... He... Threw a temper tantrum and stopped talking to me.

People tell me I'm full of shit, but it's true.
>>
>>724741505
Start by trying to remake songs that you like, preferably something not too complex. use some crappy vsts or soundbanks or chipshit sounds to get a good understanding of the melody, bass, and whatever other texture that makes the song sound like what it is.
then start experimenting with adding a section between melodies, or extend a section. once you do that, try doing it again, but instead of using a reference, try to recreate songs from memory, and slowly warp them around until they're something new; change the tempo, time signatures, rhythm, instruments, whatever. experiment until it makes sense.
>>
>>724741339
>godot
lol
lmao
>>
File: requires.png (5 KB, 653x101)
5 KB
5 KB PNG
>>724741258
To be fair, the above example is also somewhat overengineered. Even though it doesn't do perfect operator forwarding.
>>
>>724720271
nta, but Notch did not just spam the minecraft. He was interacting with /v/tards, filtering the bullshit out and asking for opinions and even ideas. Minecraft is partially a baby of /v/. And /v/ playtested a lot too.
>>
>>724741258
Looks pretty sane to me, aside from a generic method obviously being overkill for number addition, and how most people would prefer to just make an overload for every number type in a situation like this
>>
>>724709617
what's so bad about C++? templates and generic programming? pointers and memory allocation? metaprogramming?
>>
>>724709617
The real filter is crippling depression and lack of funds to sustain oneself while developing.
>>
>>724742112
it's too complex. Simply isn't required for most kinds of games. It's also a bit too low level for lots of things. Obviously depends on your project and whether you'll write your own tools for your game.
Of course C isn't Assembly.
But the things you've listed, needed for a massive ass optimized project simply aren't needed for a stupid VN telling some kind of bad fanfic.
TL;DR: It is ackhually, no memes, very important to select a proper, best tool for a task at hand. It's a big part of doing things in all the areas of human activity.
>>
>>724733509
got you covered

#define Add(a, b) ((a) + (b))
>>
>>724716287
>>724716905
I didn't say it's practical. I said it's fun. More fun than most videogames, AND it potentially makes you money, instead of costing you 80 bucks for 3 hours of entertainment.
>>
>>724742597
>no type checking
jesus imagine what would happen if a and b were pointers
>>
>>724742112
>what's so bad about C++?
bloat and "features" that in practical terms exist only as foot guns. bad features bandaiding other bad features, rule by committee adding features for the sake of wanting more features. RAII and OOPslop

>templates and generics
nothing in principle, in the context of C++ tho? exponentially longer compile times, fucked up error messages, horrible syntax

>pointers and memory allocation?
nothing

>metaprogramming?
nothing
>>
File: 03d.jpg (86 KB, 405x720)
86 KB
86 KB JPG
>>724739000
>book-sharing Anon
A relic from a more based age
>>
>>724743004
The types are checked though. Both types must support addition to work. Pointer + pointer is already a compiler error normally. It will still catch that.
>>
File: laughing_neckbeard.jpg (38 KB, 640x400)
38 KB
38 KB JPG
>>724739000
>learning programming from a book
>a book that teaches to put a comment on EVERY FUCKING LINE OF CODE as a good practice
>>
File: 1683240929658800.jpg (382 KB, 1146x795)
382 KB
382 KB JPG
>>724718236
>Truth. I fucking hate the idea of shilling my game everywhere. Is there any hope for solodev?
Make your protagonist a loli and we will shill it for free.
>>
>>724709660
Because you cannot vibe debug.
>>
>>724709617
WHAT THE FUCK IS ITTTTT IS IT GOOD OR BAD AAAAAAA
wich one has better support for beginners, like communities or tutorials
>>
>>724743741
>>a book that teaches to put a comment on EVERY FUCKING LINE OF CODE as a good practice
It is good practice for yourself. I know you have never worked on a number of projects over years or decades. I know you never changed projects. I know you never came back to an old project of yours.
I have a documentation file, that describes the way I name the files on my storage drives and why I name them a certain way.
TL;DR: Documentaion is super important in any halfway decent project.
>>
>>724712752
Hammer is not supposed to be fun. It's supposed to hit nails.
>>
>>724744307
Good code is self documenting. Long variable names are also self documenting. Comments are always out of date.

>that describes the way I name the files on my storage drives and why I name them a certain way.
That's not what we're even talking about.
>>
>>724744307
I wish you worked on my team at my job
>>
>>724744253
Do you think you can learn to build a bridge from reading books about it ?
The absolute answer is yes, but nobody would be dumb enough to learn civil engineering outside of college.
>>
>>724744307
I know you NEVER worked on any project with other developers. I know you NEVER worked on anything more complex than toy project with 100 lines of code.
Comments are a blight of every codebase. The older it is and the more programmers worked on it the worse it gets. Comments get out of sync with actual code very quickly because in order to maintain them you have to do the same thing twice, first in code then in comment. They do more harm than good when outdated comment causes confusion and is misleading.
Proper code should be verbose, clear and with architecture simple enough that there is no need to read comments to understand it, you just look at the code flow and get it.
TL;DR you're a retarded junior dev.
>>
>>724744375
It can be both. If you don't enjoy the process, you will either burn out and give up or hate your existence. Enjoying something makes you more productive.
>>
>>724744610
>>724744724
>Good code is self documenting. Long variable names are also self documenting.
>Proper code should be verbose, clear and with architecture simple enough

Those things are true, but there are some things that can't be conveyed in code especially things like intent. Having code comments and especially check-in comments referencing things like ticket numbers or explaining intent can be incredibly helpful when looking at code from months/years ago especially when it's someone else's. A lot of times things might be implemented in a counter-intuitive way or otherwise be confusing but have a reason behind them (usually a user request or order from on high) and being able to see that prevents regressions.

Verbose code and code comments aren't mutually exclusive, they should complement each other. That being said, for the reason the anons above mentioned code itself is the best documentation for itself for everything that it can document.
>>
>>724745120
Don't mix commit/PR descriptions and links to user stories/tickets with code comments, those are two completely unrelated things.
>things might be implemented in a counter-intuitive way or otherwise be confusing but have a reason behind them and being able to see that prevents regressions
This is the only semi-acceptable case for adding a comment in code, but it can be argued that maybe counter-intuitive implementation shouldn't be there in the first place.
But you know what's much better way to document such things and prevent regression? Having unit test coverage for that unintuitive implementation. Unit tests are in general great way to document your code and help you quickly get back to speed even when you come back to it after few years.
>>
>>724744253
learn C first
https://raw.githubusercontent.com/auspbro/ebook-c/master/The.C.Programming.Language.2Nd.Ed%20Prentice.Hall.Brian.W.Kernighan.and.Dennis.M.Ritchie..pdf
>>
>>724745630
>Having unit test coverage for that unintuitive implementation. Unit tests are in general great way to document your code and help you quickly get back to speed even when you come back to it after few years.

That's correct, and wow I never thought I'd ever wish I worked with people on /v/ . However, it's still no substitute for explaining intent that can't be expressed in code.

For instance, let's say you're working for a health system with multiple facilities like hospitals and doctors offices and for no apparent reason in the code that handles Patient Names it has branching logic that if the facility id equals 17 it splits the string on periods. Doesn't that make no sense what-so-ever? Why would that even be there? Well it's because facility id 17 is a hospital that's been around for decades and uses a different inpatient admission system than the rest of the facilities and for some stupid reason that system concatenates the patient's names with periods.

How do you explain that without comments? Verbose code can explain what's happening, but not why it's happening. Same for unit tests, you can test for that use case and show it's working but that doesn't explain why that test is being done in the first place.
>>
File: 1760806101403115.png (701 KB, 876x5850)
701 KB
701 KB PNG
>>724711897
AI code is irredeemable garbage.
>>
File: 3njqkgwh8ju41.png (2 MB, 1920x1080)
2 MB
2 MB PNG
>>724746197
We could probably argue for hours about this. In the example you gave sure, comment explains it, but this implementation you have and the comment itself is a tech debt because frankly it sounds like a patched-in hacky hotfix to cover new unexpected business requirement (or maybe bugfix) for already implemented and finished user story. In a perfect world doing perfect projects it would be rewritten to use some kind of Patient Names handling service that returns array of Patient Names to be used downstream and have per facility configuration that for all facilities uses `default split` config and for facility 17 uses `custom split on periods` config. That would make it clear, self documented by code, and no comments needed whatsoever. But I am fully aware no project is perfect and if something works, it's better to leave it alone than to rewrite it, so there will never be a codebase without counter-intuitive implementation explained and justified by a comment. At least sometimes those comments are funny.
>>
>>724723259
W E A P O N O F D U R G A S O F T
>>
>>724710432
>>724710542
A pointer is just an address in memory. If you're filtered by pointers you're filtered by memory and if you're filtered by memory you're probably writing crappy slow non-data-oriented code.
>>
File: 1761674244351.png (35 KB, 640x640)
35 KB
35 KB PNG
>>724748545
an address and a type
>>
>>724748669
void * are arguably just an address
>>
>>724748669
void has entered the chat

>>724747163
>pic
good stuff
have another one on the house
>>
>>724748830
>type* identifier
and not
>type *identifier
ngmi
>>
>>724749152
First of all type* identifier is the correct way second that's a screenshot of source code from Dear ImGui which is industry standard for tool UI so I think Omar has actually made it.
>>
>>724749353
the statement
>int *a, b;
declares an int pointer and an int, not two int pointers. if you want that, you write
>int *a, *b;
if you think the * goes with the type outside a typecast, you likely don't understand the language.
>>
File: google style guide.png (98 KB, 1716x692)
98 KB
98 KB PNG
>>724749152
>>
>>724748669
>type
That's just the compiler making sure you're not a retard.
The computer only knows it's an address.
>>
>>724749848
Wrong, pointer arithmetics depend on type size.
>>
>>724716671
Not only that, I take issue with the whole concept of unsafe in the context of rust because it uses LLVM to actually emit machine code, and LLVM has compiler bugs regularly. What use is this so-called safety when you can't even guarantee your output is correct?
>>
>>724749635
Declaring multiple variables on one line is bad practice so I'm not sure why you bring it up. It's a common example for arguing why you should identify your types the wrong way, but it's a stupid example, because you shouldn't be writing either of those, and the fact that you bring it up suggests you're a novice programmer.
>>
>>724750025
So it's in the binary ?
>>
>>724750235
Question is rhetorical btw, we both know the answer.
>>
C23 is absolute fucking trash. I loathe how it made empty argument prototypes implicitly (void) instead of unspecified. It prevents using function pointers in a lot of useful ways.
>>
>>724749152
type* is totally fine if in your style you deliberately never use more than one declaration in a single statement.
>>
File: 194826-Supreme-Cat.jpg (46 KB, 500x750)
46 KB
46 KB JPG
>>724709617
Just learn Java.
Start with Pong.
https://www.youtube.com/watch?v=6YfCkDktd10
>>
>>724750235
Is it your way to say it's static/defined at compile time? Yes, welcome to C++, strap yourself in because templates will blow your mind.
>>
File: poop.png (1.49 MB, 923x1472)
1.49 MB
1.49 MB PNG
>>724750214
a critical misunderstanding of how the language works shouldn't be swept under the rug with a style guide forbidding certain constructs. that just perpetuates misunderstanding.

case in point, in something like matlab there is a matrix conjugate transpose operator (') and a matrix transpose operator (.'). if you go around using conjugate transpose instead of transpose because it's one character shorter, and you are use to working with real numbers, once you start working with complex data you will likely conjugate when you don't mean too and get butt fucked with a hard to find bug. the best defense is to be knowledgeable about the language and to use its facilities appropriately.

>>724750483
doesn't help if you are reading someone else's code that doesn't adhere to your own horse blinders.
>>
>>724750782
>a critical misunderstanding of how the language works shouldn't be swept under the rug with a style guide forbidding certain constructs. that just perpetuates misunderstanding.
Except there is no misunderstanding here.
>int* x;
and
>int *x;
Mean the same thing and compile to the exact same code, except the latter is written by a spastic retard (you).
>>
>>724750627
Templates are just fancy syntax that's basically equivalent to an X macro
>>
File: 1620714600146.jpg (179 KB, 442x570)
179 KB
179 KB JPG
int*x
;
>>
>>724740113
>C is better for learning
no. too much shit that distracts you from learning fundamentals
>pass by reference? no fuck you, use pointers lol. btw if you fuck up your program crashes, or worse, its memory gets silently corrupted
>pointer degeneration lol (but only on the 1 level, so invoking an array of arrays of ints yields pointer to the first member of the array of arrays of ints lol)
>oh yeah did I mention there are no classes? have fun with enums and structs?
>and here's the standard library. btw it's full of unsafe functions that will rape you and your program. have fun finding out the best practices to handle shit like input lol
>and here's manual memory management. remember, malloc, memcpy, etc. are the devil or something apparently and you should use rust instead and become a tranny like us
>>
>>724751069
Not understanding the difference between the stack and heap is a skill issue
>>
>>724750918
yeah, and python is basically a fancy equivalent of handwritten ASM
>>
>>724750627
All the features of C++ don't make any difference when writing x86.
The compiler might have intermediate representations but there's no reason to care about this.
>>
>>724751069
git gud
>>
>>724750903
the former strongly suggests that the * is associated with the type in a way it isn't.
the latter is how dennis ritchie and ken thompson would have written it.
i'll take the opinion of the creators of the language over the opinion of google, as the design of their language has proven time and time again to me that they knew exactly what they were doing.
>>
>>724750903
latter makes more sense because
int *p, q;
allocates a pointer (p) and an int (q)
>don't do that saar
the entire world doesn't revolve around you
>>
>>724750782
>doesn't help if you are reading someone else's code
sure it does

I don't magically lose the understanding that pointers don't bind to type at declaration just because I chose to write (type*) instead of (type *).
>>
>>724751125
what are you even trying to argue?
>>
>>724751117
Do you even know what an X-macro is and why I'm saying this? They're exactly the same thing.
And no, a high-level interpreted language isn't anything close to handwritten assembly
>>
>>724751205
Types don't exist outside the scope of the compiler.
>>
>>724751069
C is a tiny language that's easy to learn
it's also the latin of computer languages, in the sense that knowing C will instantly give you a huge leg up in understanding most new languages, as it has served as a foundation for a huge number of languages
>>
>>724751386
>what are FPU and ALU
>what are SIMD coprocessors
>>
>>724751069
i'd rather my program explode when there is a bug than silently fail
>>
>>724751350
You never tried to work with macros past trivial stuff (yes, xmacros are trivial), or you would not be making retarded comparisons like that. Macros are undebuggable, while templates are a neat pure functional programming language in and on themselves.
>>
>>724748669
And a provenance. Pointers, from a language semantics perspective, point to objects. A pointer obtained by referencing an object can only be used to refer to that object, or any other object in the same array as that object.
This is not pointless pedantry, mind you. If you read past an array bound, it is guaranteed to produce undefined behaviour. This guarantee would not be possible if pointer provenance did not exist, since the compiler would have to anticipate the case that there "might happen to be a valid object" outside the array.
Of course, pointer-integer conversion also exists. The behaviour here is implementation-defined, but in most implementations of C, a pointer that has been cast from an integer becomes omnipotent, and the compiler must assume that every dereference of it is potentially valid.
>>
>>724751176
>the former strongly suggests that the * is associated with the type in a way it isn't.
What it "suggests" doesn't matter. We're adults, we understand the language.

>the latter is how dennis ritchie and ken thompson would have written it.
And they were wrong to do it that way and they probably would have changed it if they could have. Hindsight is 20/20, but C has all kinds of nasty historical mistakes, from incorrect precedence to the primitive preprocessor, macro hacks, vulnerabilities baked right into libc, the nonsense of UB, null terminated strings, defaulting function scope to extern, too much overloading of the static keyword, the list goes on. The problem is once people start adopting the language, you cannot correct the mistakes without breaking other people's shit, so you simply don't.

>i'll take the opinion of the creators
the opinions of the creators from 50 years ago*
>>
>>724751663
C++ templates seem simple at face value, and then you read about the corner cases and it makes your heart sink
not going to defend macros, tho, they should be used only when absolutely necessary, like for handling variable arguments and such
>>
>>724751818
>C has all kinds of nasty historical mistakes
operator precedence is about the only thing C got slightly wrong
everything else, with enough experience, and seen to be the correct choice (mainly by seeing how other languages "fix" C "mistakes" only to create a dumpster fire)
>>
>>724751069
demotion of array to pointer is definitely a language design mistake but everything else you wrote is just trivial to deal with
>>
>>724752015
it's not a mistake, but it definitely is the most nuanced part of C and it pays to carefully study what exactly is going on with it
>>
>>724751981
>everything else, with enough experience, and seen to be the correct choice
>this nigger actually thinks strcpy and gets are "correct"

>(mainly by seeing how other languages "fix" C "mistakes" only to create a dumpster fire)
not really, odin got pretty much everything right
>>
>>724751868
Templates are complex, but that complexity is systematic. When I expect something to work and it doesn't, I go check Templates the complete guide and there's usually a reasonable explanation why something doesn't work or work the other way. And the syntax got nicer in C++20, with require clause instead of enable_if boilerplate.
>>
>>724752393
null terminated strings are the correct language-supported string format
if you want bounds checking, use strncpy et al or write your own string struct and library, both of which are simple to do
>>
test
>>
I think std::string should be immutable.
>>
as far as i'm concerned the biggest mistake in c is making size_t unsigned
that's probably what has caused the most damage quantifiable in dollars
>>
>>724753157
That defeats its purpose, it's specifically a mutable wrapper around immutable C strings. If you want just a C string with modern interface, string_view exists.
>>
File: 1756420131795764.gif (1.62 MB, 300x265)
1.62 MB
1.62 MB GIF
>his programs have state
>>
>>724752668
>null terminated strings are the correct language-supported string format
If I was forced to use strcpy, strlen would have ballooned it to a O(N^2) cost when it could have been nothing if I just stored the length of the string instead of null terminating it. Null termination may have made sense 40 years ago when memory was extremely tight, but it makes no sense not to just store size and a pointer as the standard way of interacting with strings.

>if you want bounds checking,
Every sane person wants the bounds checking, faggot. Nobody wants the buffer overflows. strcpy is full retard.

>strncpy
>use the fix we wrote later when we realized we made a mistake
Thanks for consneeding.

>or write your own string struct and library, both of which are simple to do
I do, but I shouldn't have to. I still end up having to support null terminators because they are inescapable. Null terminators were a mistake. The language has mistakes. It isn't perfect.
>>
>>724739591
>It doesn't use virtual functions
Virtual functions calls are slow.
>>
>>724753374
Games must have state, bud.
>>
>>724753376
>If I was forced to use strcpy, strlen would have ballooned it to a O(N^2)
que? even if you use strlen() to get the length of the string to allocate memory for a copy and then called strcpy(), the time complexity would be O(2N) = O(N).

>Every sane person wants the bounds checking
yeah, when you don't know the maximum length for a string. but that's not always the case. if you need bounds checking, the language gives you plenty of tools to do it on your own terms. it's nice that it doesn't try to shoe horn in a more complicated data structure that would preclude a simpler data structure when appropriate (unlike how e.g. python makes everything a dictionary when often something with a much smaller memory footprint would work as well if not better)
>>
>>724744307
you are a retard
>>
>>724754254
You're right, it would be 2N. It's still needless work though. For what? To save you 3 bytes? That's just silly.

>the language gives you plenty of tools to do it on your own terms
It really doesn't though. libc is pretty weak. It really forces you to write a lot of your own tooling in cases where you shouldn't have to.

>in a more complicated data structure
Storing a size with your string is not more complicated than appending a null terminator. You're merely trading a memory cost for a runtime one.
>>
>>724754874
memory footprint isn't necessarily the motivation behind null terminated strings
>>
File: 1761204376919215.jpg (546 KB, 828x821)
546 KB
546 KB JPG
>>724726815
Nothing, it's high-level and abstracts low-level concepts out of it like memory management, the compiler, types (everything in python is an object) and countless other things.
Someone who is starting coding is just trying to learn simple concepts that are easier to do in python.
Learn python, learn javascript, html, css and make a basic MVC (web app). Once you've figured that out you can go learn type erasure, void pointers, trailing return types and all those low-level concepts if you actually seem to enjoy coding.
>>
>>724755271
I think it absolutely was and if C was created with the hindsight we have today they simply wouldn’t have done it.
>>
File: 1508104723089.png (503 KB, 586x501)
503 KB
503 KB PNG
>>724751069
>have fun with enums and structs
I do very much, thank you
>>
Linus Torvalds, the god of programming, hates C++ with a passion.
>>
>>724755764
>retard that let Pust into his codebase
opinion discarded
>>
File: rape him.jpg (59 KB, 1280x853)
59 KB
59 KB JPG
I have a job writing SQL scripts and PL / SQL (oracle), it's shit pay though and I only took because it's better than warehouse slaving or mcdonalds

how do I become a real programmerâ„¢ and make more than 50k. I have no family / no friends so I wouldn't care about being exploited by the game industry but I don't know how to break in
>>
>>724755764
>Linus Torvalds, the god of programming
Lol, lmao
Someone like Arthur Whitney is a god of programming.
>>
>>724709617
>At least in blender you can create cool shit, this is just boring.
That means you're at least good at blender, right?
>>
>>724756303
We were looking for a SQL server guy and paying 6 figures for the position, but budget cuts had off offshore it for less than half that instead.

There are still a ton of apps using SQL so there should be plenty of positions out there with the skill set you have now. Are you willing to move? Look around the country and if you're willing to relocate you should find something (I'm assuming you're in the US)

Otherwise, a typical web application stack is a Javascript driven web UI, a service layer in a programming language (here we use C#), and a SQL backend. If you learn that whole stack that should be a very marketable skillset, and it sounds like you're already 1/3rd of the way there.
>>
>>724722970
>why do people like boobs more than my awful figure drawing
Imagine going to college to learn how to draw lmao.
Just do it bro, there's nothing they can teach you that you can't learn just as easily on your own for free.
>>
>>724756645
I sorta knew javascript and java but because my current job doesn't use it at all it's atrophied since university. I was trying to make a browser extension to put on the play store that fixes some of youtubes inshittification but the only feature I got working was a button to open all the playlists a vid is in with a single click so you don't have to navigate back to a channel and look for the playlist its in.

Anyways thanks for listening. Is programming with C# on a server side anything like using it for unity / game programming or no not really
>>
>>724755491
Null terminated strings are more convenient when you receive them from a stream.
>>
>>724756784
>Is programming with C# on a server side anything like using it for unity / game programming or no not really

Yeah pretty much, I'd bet a dollar Unity and Unreal and such are programmed in some iteration of C (C, C++, C#)

The most widespread web app is going to be some kind of form, taking input from the user and saving it to the backend. You'd need to be able to do the HTML to build a web page or use tools to do it, then send that data to the programming layer which might need to do calculations or other data manipulation, then save that data in the SQL backend. And of course the reverse where you retrieve data from the backend and display it on the screen.

It sounds like you're underselling yourself if you already have javascript and java experience too. You could probably put together a good resume and spin that into a good job but you really need to talk yourself up. The most important skill anyone can have is Networking and the second most important is marketing yourself.
>>
File: ohfuggggg.png (149 KB, 596x1009)
149 KB
149 KB PNG
rate my unmaintainable dogshit hack that i probably wont fix later
>>
>>724753174
size_t is a measurement of data size
Negative size_t is nonsense
>>
>>724752668
Okay, this is the one thing I will argue as a C programmer: NULL terminated strings are garbage. Pascal strings were better and should have been what we used.
(for reference, a pascal string is a size_t followed by the string's data)
>>
File: you_are_normal.jpg (44 KB, 552x340)
44 KB
44 KB JPG
>>724709617
Raylib fixes that
https://www.raylib.com/
>>
>>724710432
None of those friendslop games making millions of dollars are even using pointers anywhere in their code. Low level C++ isn’t necessary to make games anymore
>>
>>724709947
Sounds like the world was DOA
>>
>>724758254
1) Is there anything like raylib but for vulkan for better performance?
2) Has anyone made a 3d level editor for raylib (or the aforementioned framework if it exists)?
>>
>>72475950
>Is there anything like raylib but for vulkan for better performance?
vulkan + sdl
>>
>>724759635
I mean in terms of being easy to use/for beginners.
>>
>>724759801
use a game engine
>>
>>724759801
raylib is not for beginners unless your goal is to learn everything from first principles
>>
>>724709617
>implying most people who """""want to make games""""" get far enough to be filtered by programming
LMAO
All other parts of game dev are harder than programming.
>>
>>724709617
I was thinking about learning it. I need money and a better job. Does CompTIA offer any certs? Who offers the best certs? Are there actually any jobs in game dev for people who know C++?
>>
>>724759504
1. Not yet, see: https://github.com/raysan5/raylib/discussions/2048
But since 5.5 raylib core is detached from the renderer, so it'd be easier to do
2. Haven't seen anything, I am actually making my own using Raylib and Imgui
>>
>>724761431
>Are there actually any jobs
ha
hahahahahahah
>>
>>724744610
>Good code is self documenting
you'd be fired at google

>>724744724
retarded 0.1x nodev with a sub 200k tc
>>
File: 1760957443110976.jpg (76 KB, 736x736)
76 KB
76 KB JPG
>>724762182
>Google is a metric for good code
>>
>>724743741
>>learning programming from a book
retard
>>
>>724709617
I am currently struggling through halfassing it to write some shit for cataclysm: dark days ahead.
I refuse to try and vibe code, but I don't want to write some shit that will actually fuck things up.

its a pain when you can only break down code so far before your brain starts to melt because of all the shit you are trying to learn at once.
>>
>got stuck doing shitty utilities work as an EE
>all my CS acquaintances made fun of back in 2021
>now 80% of them laid off while I can shoot off apps in a day and get offers by the end of the week
could be worse i guess. i wanna switch fields to something like chip design but I'd have to go back to grad school. power is so fucking boring
>>
File: 1746797156711907.png (2 KB, 407x295)
2 KB
2 KB PNG
>>724762091
I thought so
>>
>>724757476
Take a legible screenshot first.
>>
>>724744610
sure but at some points surely SOME documentation is needed?
>>
>>724732927
lets say you want to use opengl, where do you go?
>youtube?
nope most tutorials are ancient and based on older standards
>website like learnopengl?
wrong again that shit is leveraging 3.3 and you want to use 4.6
>read the docs
you might as well be deciphering moon runes that shit is a pain in the ass to sort through
>is there any good resources out there for learning it?
not really, the best you'll find is stuff around this paradigm called AZDO, trying to decipher what is old and busted and what is the new hotness for fast rendering is the biggest challenge because most resources out there will try to teach you the older method.
if you stick with it you can make it work, it just isn't easy to sort through the legacy nonsense.
>>
Can I use C++ with Godot or one of its forks?
>>
>>724709617
What's so hard about c++? We learned this shit in high school.
>>
>>724764269
If you learn it then you turn gay.
>>
>>724764269
A lot of retards get filtered by pointers and dynamic memory management.
>>
File: 1758600568133.png (21 KB, 630x222)
21 KB
21 KB PNG
>>724764269
answer this without using google or running the code
>>
File: 5749393746.png (344 KB, 1080x891)
344 KB
344 KB PNG
>>724764634
>you allocated memory
>free it
>>
>>724709617
>type text
>it somehow creates a whole fucking intractable game
I will never get why people don't like programming. it's literally magic, you just gotta learn the spells
>>
>>724729107
kek
>>
>>724765498
Meh, CPU is just a tiny extremely fast mechanism. You can literally replace it with moving gears, and eventually they will do the same thing that CPU is doing.
>>
File: 1759773241525208.png (9 KB, 899x784)
9 KB
9 KB PNG
>>724765597
>but you can make fire by rubbing sticks together too!!!
>>
>>724765689
>bruh lighter is literally magic, massa is moving the finger and summons the ifrit
>>
>>724765597
no you couldnt
>>
>>724722970
>major in the arts
>draws pignoses
>>
>>724766385
https://www.youtube.com/watch?v=EtIJUwkOAwM
>>
>>724765597
Good luck making gears that are the size of a single atom.
>>
>>724765319
>use some static chunk of memory
>make a bump allocator out of it
>assign the allocator to 0 at the beginning of the frame
>next pass through the frame reuses the same exact chunk but assigns the base offset to 0 again
>literally don't even have to free the memory anymore
>allocator logic is like 5 lines of code
arenabros we're eating good
>>
>>724732807
I just tried this code, and im not sure why it works because it should be typename = typename std::enable_if<std::is_arithmetic<T>::value, T>::type

OR

typename = std::enable_if_t<std::is_arithmetic<T>::value, T>

because in the first scenario, the enable_if itself is always a type, it just either has a nested type defined or not depending on the bool, so if you don't actually refer to the ::type, then how is it being selected out?
>>
File: mr kitty reaction time.mp4 (3.72 MB, 916x720)
3.72 MB
3.72 MB MP4
>>724768026
i just answered my own question, the function DOES NOT work as pictured (intended) unless you simply add an _t after enable_if.

the code in the picture allows non arithmetic types to be added, but by using "typename = std::enable_if_t<std::is_arithmetic<T>::value, T>" instead, it correctly fails to compile when non arithmetic types are passed as arguments, pictures like that have to be some kind of psyop.
>>
>>724768026
std::enable_if is a struct that has 2 different implementations based on whether the first template parameter is true or false. Only the true implementation has member "type", so trying to access the "type" member of false one is compile-time error (that gets ignored because of SFINAE), but if you don't access that member, both structs template instantiations are valid in this context.
>>
>>724762182
>you'd be fired at google
lmao
you have to molest someone (multiple times) or get caught in mass layoffs to get fired from google (translation: it's almost fucking impossible)
I know guys who are on their 3rd pip and still have not been fired, they are just reassigned to different projects like hot potato
once you get hired (pretty fucking hard in the first place) you can stay here until retirement (if you don't go insane and quit first, like most do)
also google sucks as a benchmark for anything related to programming and coding quality
it's absolute clown show here, do the opposite of whatever google is doing/preaching
>>
>people still use godot after all the bullshit pulled by the creator
Is that Stokholm syndrome? Are people retarded? It's not even good engine in the first place.
>muh but it's free
Stabbing yourself with a knife is also free, doesn't mean you should do it.
>>
>>724732807
Both functions can silently trigger UB, by the by.
>>
File: 1755722507525330.jpg (88 KB, 834x1200)
88 KB
88 KB JPG
>>724739000
>an Anon so patrician he befuddles the soulless creatures now infesting this place: see (((>>724743741)))
>>
>>724709617
>No one wants to learn this.
i had to learn it and honestly it's not that bad. i had to learn java first, then C, then C++, and after all the projects i worked on i don't really care about what language i need to use anymore. i care more about what data structures need to exist with what attributes, and i'll pick whatever language lets me accomplish that quickly.
>>
File: 1746680978375428.png (30 KB, 216x246)
30 KB
30 KB PNG
>>724709674
Oh I could totally see how bad that could be. Especially with how shilling is these days.
>Ad has to be 5 seconds long to get anyone to actual watch it
>This is assuming anyone ACTUALLY fucking has ads on because the ad:shitpeoplewanttowatch ratio is completely fucked
>Have to hope your ad is actually being shown to PEOPLE and not some shmucks that fell asleep with youtube autoplaying on their TV
>Have to hope google isn't just bullshitting the metrics on your ad like LITERALLY FUCKING EVERY METRIC ON YOUTUBE and running away with your money
>Prospect does not get any better with other online advertisers
I genuinely, GENUINELY feel bad for people that actually do real fucking ads and not this astroturf psychological op bullshit where they pay some jeet farm to make a million threads here, reddit, wherever about a game nobody cares about it wins all kinds of "presitgious" rewards and it ate up air space for shit actually worth anyone's money.
>>
>>724739000
>Here's C How to Program Seventh Edition, my favorite book
What is this, 1980's again? Who the fuck uses a book to learn programming when you have endless resources on the Internet? Resources accessible anytime, which are indexed, searchable, organised on the documentation pages and wikis with clickable hyperlinks, countless examples you can copy and dissect. Not to mention LLMs which can act as a mentor and teacher with encyclopedic knowledge and help you with understanding anything. Are you some kind of retard or larping nocoder? Stop recommending this boomer shit to people.
>>
>>724770910
Book doesn't have to be on your display
You can e that book
And LLMs are literally designed to get shit wrong ON PURPOSE.
>>
>>724765319
Don't do this, at least not on close in a release build.
You'd just be making the user wait while you autistically loop through every data structure you've ever used, freeing them one at a time, before you finally exit.
Just have the OS deal with it since it lives beyond your game.
>>
>>724709617
Yeah outputting Hello World should be simple. But instead it's

#include <iostream>

int main() {
std::cout << "Hello World!";
return 0;
}

The fuck
>>
>>724770965
>And LLMs are literally designed to get shit wrong ON PURPOSE.
cope and skill issue
>>
File: 1749686251609421.png (358 KB, 829x765)
358 KB
358 KB PNG
>>724765319
Picrel.
>>724756784
>a button to open all the playlists a vid is in with a single click so you don't have to navigate back to a channel and look for the playlist its in
Everyone at Jewtube needs to be beheaded in public. What the FUCK were they thinking with removing access to all your playlists from the front page?
>>
>>724709617
What the fuck is garbage collection
>>
maybe it's ok if AI does it for you
but I hated c++ boilerplate and crappy error messages in school
would rather rope than program c++ for a living
>>
>>724743741
>>724770910
>>724771016
>it keeps happening
Grim.
>>
>>724771050
when mom picks you up from school
>>
>>724771104
Fuck. That was good I'm not even mad
>>
>>724771006
Price you have to pay for flexibility. It's the difference between controls for driving your car and sitting in a bus.
>>
>>724771050
>What the fuck is garbage collection
It simply means that memory segments marked as no longer used are re-added to pool of free memory.
>>
>>724770965
>Book doesn't have to be on your display
Book doesn't have to be anywhere. You don't need a book for anything. Use documentation pages or get IDE with language server and integrated docs.
If you want to really learn a programming language you must start doing something serious with it, like an actual application someone else besides you could use (and even pay for it). That's why coming up with a game idea then making simple engine tailor-fit for that idea is great project, it teaches you a lot.
Reading a book, doing examples from the book, and doing hobby projects with no actual use which you abandon after a week will forever keep you at retarded cs grad level.
>>
>>724771279
Stinky
>>
File: 8489yfds80727246.jpg (77 KB, 856x508)
77 KB
77 KB JPG
ITT: girl coders
>>
>>724771006
bait or Indian?
>>
>>724709674
Add attractive female characters, but without explicit sex scenes. 80% chance that some artists will go "damn this bitch needs porn" and essentially market your game for free.
>>
>>724742039
Yea that maybe worked in 2009 when /v/ was mostly white and only pretending to be retarded. Today I would never take any feedback or ideas from this low iq brown shithole. Just look at this fucking thread and all the pajeets giving their shit opinions.
>>
>>724772825
That didn't really work out too well for Asterigos despite having one of the most attractive female characters in recent years.
>>
>>724747130
Lmao, this picture is programming summarized
>Guy is honest in his AI usage and fair, doesn't dismiss the flaws
>gets 'disliked' to oblivion by a armchair neckbeard reddit circlejerk bandwagon
>"im le out!!!!"
>not a single 'person' tries to teach or guide him, to help him become better

Based AI chad making retards froth at the mouth.
>>
>>724772980
gatekeeping done right
fuck off vibe pajeet
>>
>>724709617
Brother. I know you posted this as engagement bait, and it seems to have worked well. But just admit that you need more time with the tool. Sure it's not as straightforward as a hammer or axe but it does have the ability to do so much more than any hammer or axe could. Have you unironically tried meditation?
>>
>>724773047
>we wuz programming n shiet

Kill yourself, go to your dead github project no 99999 you jeet ape
>>
programming is boring and retard.
learn a real job like trading, moron.
>>
>>724772980
>not a single 'person' tries to teach or guide him, to help him become better
coelckers isn't a bad programmer, he's the founder of that project and the main guy who created GZDOOM
The other guys sperging out about him using AI code is greatly overexaggerated, it's a group of people who attempted a coup so they can take over GZDOOM for themselves.
It's why their arguments start out being related to programming practices, but then devolve into emotional guilt tripping.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.