Argue about which coding languages are bloatware (it's all of them)

  • 🐕 I am attempting to get the site runnning as fast as possible. If you are experiencing slow page load times, please report it.
Genuinely off-topic, I know, but I have to clarify: at what point does PHP come into this flow you're outlining considering it still seems fairly prevalent today?

I ask this as "someone who does development outside of web altogether, and is finding himself begrudgingly having to consider at least some sort of hobbyist web project some day to fill a growing hole in some certain niche".
These days I'd recommend something like asp.net core over php. Or even, urgh, nodejs. What I personally use is the SAFE stack, with a lot of stuff ripped out to be more basic. (Like serving mostly pre-rendered html pages)

Basically, start as simple as possible, and build on top of that. Avoid as much "magic" as possible.
 
  • Informative
Reactions: 419
And I should add, once you've learned what's under the abstractions then you can use them if they are the right tool for the job. Otherwise it's like learning to use a calculator without learning how to do math.
I agree 100%, that's why I said it doesn't matter much what you want to do, learn the fundamentals.


And some courses/youtube videos will teach you that way: first HTML5/CSS, then JavaScript, then a framework. It's not as in-depth as you are suggesting but it's the fastest way while learning fundamentals.
Genuinely off-topic, I know, but I have to clarify: at what point does PHP come into this flow you're outlining considering it still seems fairly prevalent today?

I ask this as "someone who does development outside of web altogether, and is finding himself begrudgingly having to consider at least some sort of hobbyist web project some day to fill a growing hole in some certain niche".
It comes to play when you want to do CRUD stuff or heavy computation stuff that you can't do on the front.

The way I see it, once you are done learning how to make basic/decent stuff on the front, you move onto the backend to make Auth and databases. But it always comes to what you want to do, making projects it's the best way to learn, because you have a goal and requirements you need to achieve, so you will learn on the way.

There's also roadmaps like roadmap.sh if you need "checkpoints"
 
Basically, start as simple as possible, and build on top of that. Avoid as much "magic" as possible.
You'll know you're ready for magic when you find yourself complaining about certain things. You won't leverage the magic correctly until you understand the pain that created the magic.
 
  • Like
Reactions: 419
You'll know you're ready for magic when you find yourself complaining about certain things. You won't leverage the magic correctly until you understand the pain that created the magic.
Not like I wasted 2 weeks on trying to integrate oidc in our project only to realize I looked at the wrong template... Don't ask me how I know (here, you can ask in the programming thread)
 
can someone explain the difference in self explaining code and commented code in a way a small autistic child could understand? I want to understand but this is like....I don't want to say 100% out of my depth, but at the edges of my understanding.
Comments rot very fast. If you ensure that you have proper function, params, variable, type names it should be reasonably easy to understand what's going on.
The other perhaps important thing i'd also like to mention is that comments will typically get stripped away if they're in source code that's getting compiled, so they would become largely useless the moment someone e.g. used your code as an external library or dependency,

The example I know of this first-hand comes from Java, where the very first thing you'll usually have for a JAR added as a project dependency is just a bunch of .class files consisting of compiled JVM bytecode. Decompiling those JARs back into Java source code won't bring back the comments that were originally stripped away. For comments to be resroted, it's up to the maintainers of that library/dependency JAR to also provide a "sources" and/or "javadoc" JAR that may be attached to that dependency and contain the different kinds of comments that Java can use, as they appeared originally in that dependency's code.

The point here is more that, in the event that the sources/javadoc aren't available, the code itself that you get back from a decompiled JAR should be clear enough (assuming you don't also have obfuscated symbols like variable names) that you can still follow both the logic and intent thereof, without needing any comments at all in the worst case where you have no option to see those.
 
I may be a bit late to the party, but I just watched "Coding Jesus" video and I can't help but cope and sneed.
Last thing I want is to dickride furry faggot, but I hate this youtube grifter more than I hate Mald

First of all - guy states his credentials. Sure, no problem.

5 years in the industry is reasonable, but "I've read dozens of C++ books, I've read books from influencers" is a big red flag from the get go. Programming books don't teach you jack shit, they are to be treated as a glossary for "nice shit you can use in your projects". Anyone trying to treat them as a gospel is either a uni student, an intern or a grifting retard. Also - in general - there is no single "silver bullet" in coding, you adapt to your needs.

Then he complains that PirateSoftware doesn't show much of his code on streams, but he did find 3 instances of where you can see this code.

I will now go over his "points"

1) Magic numbers​

1752430176772.webp


>muh magic numbers are le bad, you should replace them with variables!

One of those "fun to bully a junior dev" points. It's a good rule, BUT...

First of all - any good IDE will tell you what's the name of the argument where you're using a constant. Here's an example from IDE I'm using, "scanUntilRemovable" is not actual text in the code - it's the name of the argument where "false" is used. Pretty sure other popular IDEs do the same. Also it's not my code, cool your jets
1752430625098.webp

So "code readability" point is null and void.

Another problem is - you don't pepper your code with random variables just to pass them to the method/function - cuz that also shits up your code. Let's take Mald's "part_type_sprite" function from the screenshot - it has 5 arguments. So now you gotta introduce 5 different variables, some of which are gonna be used once. And if you're gonna reuse them later in the code - you're opening yourself up to the "forgot to assign new value to the variable" bugs.

And what's worse - he's looking at what seems like asset loading/config code. You write that code once and touch it never. Mald is loading the particles. You don't change it, you don't need it for readability. It's one of those "why the fuck are you reading this code, it works already". If it doesn't - you just rewrite it, cuz it's a config.

1A - Appendix) Stronger typing autism​

1752431557742.webp


This is the shit that makes my anus crumble into char and dust.
I don't wanna go too deep into compsci shenanigans, but basically he says that it's "better" to introduce a new type for each argument type. I will try to explain why.

Let's say you work in 2D space, and most of your objects are Pair(float X, float Y) - which means you operate on objects with 2 numbers with fractional component. But here's the """""""problem""""""" - what if you're a retarded pajeet who's still hungover from celebrating the opening of the new shitting street and you suddenly create an object where X and Y are swapped - Pair(Y, X)?

Well, normal people would say that you either should stop being retarded or write tests that would be able to catch this error before you show this code to anyone.
But Functional Programming Autists (and math nerds) invented a solution to severe brain damage called CATEGORY THEORY! In CT you would create a new datatype for both X and Y, so your coordinates would look like Pair(X(float value), Y(float value)). Now the compiler would tell you you're retarded if you try to reverse X and Y - they are different types!

Here's the thing - category theory is a lot of fun if you're getting paid to shit and getting paid to wipe. It's a fun thing to introduce to your team at the corporation and later use it to bully juniors or anyone who doesn't have a compsci degree. The thing is - it doesn't actually do that much aside from stroking your ego. You write more code and you still write the same amount of tests. And you write more code in your tests.

It's not a very solid point, but generally unless you write in a VERY strongly typed language like haskell - you don't need to bother with this cuz your language most likely doesn't support everything else that makes category theory worthwhile. In general - this kind of programming is fun if you enjoy edging writing code more than delivering the results.

And C++ is not a very strongly typed language

Intermission: Spaghetti code​

1752432578459.webp


>this is spaghetti code because I don't understand it! What even is this alarm?

You don't know what spaghetti code is and how it looks, fuck off.
If you don't know what an alarm is - go read the code.
He can't read the code, he compained that Mald barely shows his code

2) Why is 1 true, and 0 false?​

1752432788551.webp


>this is a complete mess, what does "question_asked == 1" means? He shoulda used bool!
This is where I'm starting to question his "5 years in the industry" statement.
Look, I absolutely HATE defending Mald, but this coding retard has not seen any code not written by him - I am almost certain.

There's lots of C++ code written by former C guys, there's lots of C code in C++ code. C didn't have boolean datatypes til C99, and before that integers were used. 0 was false, 1 was true. You see that stuff everywhere in unix programs. Yeah, sure, it's legacy shit, it may be obsolete - but it may also be force of habit. It probably is stupid for Mald to use 0-1 like it's 1990, and maybe he's using it to show off how old skool and kewl he is - but asking "what does int == 1" means just shows that you are a fucking grifter, a retard, or both. At least Mald knows the fucking history of the language he's using.

3) Writing comments is unprofessional​

>why are there so many comments? this is so unprofessional! the code should be self-documenting!
Same timestamp as 2)

This is just braindead. I've never seen anyone shit on the comments in the code, especially if you complain and cry and shit and cum about how unreadable the code is previously and how unprofessional it is.

As for "code should be self-documenting" - sure, that's a good rule until it isn't. There are times when it's pretty much impossible to write "pretty" code, especially when you reach the "end of the world" (aka "leave the runtime of your program and try to work with shit from the outside, like reading files or web sockets or databases or whatever").
Again - you will probably never encounter this type of code if you're writing pajeet code that puts jsons into a database. It's gonna be real pretty and real self-documenting.
When you have to look inside those libraries that you're using to read jsons from a socket or write data into a database - you're gonna have a real fun time complaining about magic numbers and "bad code".

4) He almost had it. He was so close​

1752434507187.webp

1752434519549.webp


Coding retard makes a point that this shit is unreadable, and you have to remember what 419 is. Yes, good point.
In fairness, though, some game engines like RenPy and RPGMaker also store all state flags in one giant dump of an array. But also RenPy and RPGMaker suck as engines.

But once again Temu Warski shits the bed with his argumentation.
>How is the new developer supposed to understand this code if you remove all comments?
You dumb fucking nigger, COMMENTS EXIST TO HELP PEOPLE UNDERSTAND THE CODE. I have no idea what sort of problem he has with comments in programming languages, but it makes me act up.
>You should use YAML
And this is where I fucking snapped. First of all - YAML is human readable, so any script kiddie can take it and edit it. Probably not something you want to have in your game.
Second of all - this shit is the GAME STATE. It's supposed to be fast access cuz every sneeze and every user input may modify the state. It should be stored in language-native structure. Sure, maybe a fuckoff array of integers is not the most optimal data structure for readability - but you definitely don't want extra overhead of yaml with parsing and writing and shit.
It may be okay for game saves, sure - but definitely not for internal fucking state.

And even then - and I fucking hate to give any props to Mald - but MAYBE he's trying to optimize his storage? Maybe an array is faster than a dictionary (I know both are supposed to be O(1), but addressing an array is faster than computing hash and adressing an array). Sure, it's premature optimization - but saying "just like use YAML bro it's totally better" is braindead.

Okay, look. I'm not a C nor a C++ developer. I have zero games under my belt. Maybe I'm out of my depth here. Maybe the guy is right. Maybe that's how it is in the C++ industry and I'm just coping and sneeding for nothing.

But, just to wrap this up - I was wondering - what code was he reviewing this whole time?

1752435370123.webp


PirateSoftware is using GameMaker as his engine. An engine where you use GML (GameMaker Languge) to write your scripts.
Not C++.
Not C.
A custom scripting languge.

THIS FUCKING RETARD HAS BEEN "REVIEWING" FUCKING SCRIPTS AS IF THEY WERE WRITTEN IN FUCKING C++

NOTHING THIS CODING FAGGOT SAYS IS APPLICABLE TO MALD
EVERYTHING HE SAYS IS RETARDED

Look, I have no idea if Mald's code is any good. They are game scripts in an alien language unknown to me. I've seen someone in the thread decompile his game - and it does look bad. But NOTHING this retard said is fucking applicable to Mald! I don't know if you can optimize flag storage for GameMaker, but you're obviously limited in what you can do by the fucking engine! He's not writing in C++!

I just googled - modern GameMaker has booleans. Okay, maybe Mald shouldn't use "if int == 1". Or maybe that int can hold more than 0 or 1 (as seen in his flags storage). This faggot complained that PirateSoftware doesn't show much code - yet you fucking DEFINITELY KNOW that question_asked integer doesn't hold anything but 0 or 1.

I fucking hate this guy.

Thanks for reading my autistic spergout.

tl;dr coding retard saw an opportunity to gain fat stacks by jumping on the PirateSoftware hate train. His attempt was unfortunately successful, but his code review is braindead retarded.
 
Last edited:
I'm a man
Jason saying this is false
He lacks any masculine traits, he is insecure self absorbed faggot
Men do not want fuck animals
Men learn from their mistakes
Men display humility
Men keep their house clean and intact
Men take keep themselves fit and healthy

Jason is likely to troon out before mid life crisis
 
I've watched his code slave Jake stream for a bit.
It's simple stuff and he works slowly but at least it's actual software development.
We already had this on the thread:
Jake uses the username jb0s
Twitch:
https://www.twitch.tv/notirma
GitHub:
https://github.com/jb0s
But what I learned is that he's from the Netherlands, and he has a job separate from Pirate Software.
Interesting b.c Maldy says his mods are full time. Jake is not only also a mod, but he's the real main developer of Pirate Software.
Even though he works on weekends, and before and after his normal job on weekdays, I can only imagine he is very badly compensated.

Jake, jump ship before it's too late. It will get worse and it will impact you. It's not worth it.

Some other socials:
Youtube
1752434825092.webp
Hackerone (archive)
1752434611144.webp
Chess (archive)
1752434757723.webp
Steam (archive)
1752435138889.webp
1752435219458.webp

I also found some stuff for an unrelated Polish Jakub Binda that has a similar handle jb0$s but I do NOT think it's him.
Notably, both Poland and Netherlands are GMT+2, which matches his GitHub timezone. But it's certainly Netherlands.

Our Jake is likely named Jake B. but it could be Jacob B. too.
And then maybe another Dutch surname that starts with S, considering his handle.
It could even be Jake B.S. which is fitting.
 
And even then - and I fucking hate to give any props to Mald - but MAYBE he's trying to optimize his storage? Maybe an array is faster than a dictionary (I know both are supposed to be O(1), but addressing an array is faster than computing has and adressing an array). Sure, it's premature optimization - but saying "just like use YAML bro it's totally better" is braindead.
I disagree with this; we're talking about a story-driven 2D game with almost 0 complexity.

Attempting this kind of optimization is pointless.

And this is where I fucking snapped. First of all - YAML is human readable, so any script kiddie can take it and edit it. Probably not something you want to have in your game.

The last thing you said is literally, and I'm not joking, what Jason wants; his argument for the big global array is because "It makes it easier to hack and for the translators".


NOTHING THIS CODING FAGGOT SAYS IS APPLICABLE TO MALD
It is applicable, because they are programming patterns and conventions, however, I agree that Coding "Jesus" it's exaggerating and reaching most of the time.

And honestly, I don't care. Jason deserves it. We should encourage any form of shitting on Jason (except if it is too retarded, then, that would make Jason look good).
 
but he's not a grifter
Sure, nothing says "not a grifter" like running selling "code review sessions", "resume review sessions" and having a paid "prepare for an interview" website. This guy is monetizing everything other than his own code.
he's also an actual programmer
[citation needed]
Learning from books is a legitimate way of learning to code as long as you're also coding
You either have 5 years of experience or you're learning. Hands on experience is infinitely more valuable, and no book will cover stuff that you learn while actually working in a team.
You are the genuine retard for asking why he can't just use 0 or 1 as true or false
I have specifically explained why coping and sneeding about bools instead of ints is retarded when it's coming from an alleged C++ dev.


Attempting this kind of optimization is pointless.
Well, yeah, premature optimization is not something you want to do. I still disagree with "just like use YAML".
The last thing you said is literally, and I'm not joking, what Jason wants; his argument for the big global array is because "It makes it easier to hack and for the translators".
Well fuck me, maybe he should use YAML.
programming patterns and conventions
This is my biggest problem with the video to be honest. Every single company and most teams in a company have different conventions. Same for different languages - shit for Lua is not applicable to Java, Java stuff is rarely applicable to C++ and C++ conventions are not applicable to python. Reviewing GML code as if it was C++ is disingenuous at best and malicious at worst. I could kinda understand if he was comparing it to lua or maybe even python since those are also scripting languages, but he's bringing up points that may not even be applicable to GML.

So yeah, "online code review" is retarded, and it becomes even more retarded when you're not even familiar with the language you're doing a review on.
 
1) we wuz magic numbers n sheeit
I'm inclined to agree, just plucking this as an example because you mentioned it first. Whether someone uses the term "magic number" to mean an arbitrarily selected constant whose purpose is to just be unlikely to coincide with other values in memory, or they think the term refers to any numerical constant that appears in source code, tells you a lot more about someone's experience and competence than the number of years they claim to have fought in the C-clone wars. There's a lot that can be said about these analyses and their worth, but Jason's code is such low-hanging fruit for mocking him that commenting on them is tantamount to inviting another dozen-page derail.
 
So yeah, "online code review" is retarded, and it becomes even more retarded when you're not even familiar with the language you're doing a review on.
Slop News Network covered it perfectly in his review, giving general advice and going through stuff in GML. It's not that much of an outlandish programming language and I don't wanna unnecessarily derail the thread again.
 
There's a lot that can be said about these analyses and their worth, but Jason's code is such low-hanging fruit for mocking him that commenting on them is tantamount to inviting another dozen-page derail.
Yeah, as Jason himself said: it doesn't matter if the code is bad, as long as it doesn't hinder the development of the game.
And in order to judge if it does, we'd have to observe him working on the game, which happens approximately never.

Now what matters is whether the end product is good, and, well, it's not.
 
At this point if people want to shit on Coding Jesus, it'd probably best be done in the programming thread or in a fresh thread in Internet & Technology.

Beware, the programming thread is highly autistic.
 
Because this game is in constant development hell, in position of Jason, I would publish the code for this game for flexing about how great programmer I am. But, as we had a little glimpse in his working standards and code itself, he won't do this because it would crumble his long-time built preposterous statue of himself.

To be fair, I would expect much more from a guy flexing that he worked in "gaming industry" for twenty-some years and can't deliver simple 2D, story driven game in less than a year. Fucking Manor Lords were made by one man and looks tons of better with more work putted.
 
Sure, nothing says "not a grifter" like running selling "code review sessions", "resume review sessions" and having a paid "prepare for an interview" website. This guy is monetizing everything other than his own code.
Paid mentorship is a standard in many industries, and especially tech. Nothing wrong with that, and no one is forcing people to pay. There are also people out there volunteering their time for free. You are being weird and nitpicky about this Jesus guy.
 
It's an item or skill or something he's playing with in his stupid ass game
Thanks for clearing that out. I was going to assume it was another weird phrase he came up with and is overusing because he thinks its unique and cool (eat my entire ass pt2).
It could also be code for ferret fucking, for all I know.
If only he had enough shame to keep his ferret fucking ways secret...
 
Well, normal people would say that you either should stop being retarded or write tests that would be able to catch this error before you show this code to anyone.
But Functional Programming Autists (and math nerds) invented a solution to severe brain damage called CATEGORY THEORY! In CT you would create a new datatype for both X and Y, so your coordinates would look like Pair(X(float value), Y(float value)). Now the compiler would tell you you're retarded if you try to reverse X and Y - they are different types!
The fuck you talking about. You would just use 2D vector for everything not X and Y as different types.
First of all - any good IDE will tell you what's the name of the argument where you're using a constant
This is your only valid criticism imho. Being butt hurt about params being magic numbers is indeed retarded.

Second of all - this shit is the GAME STATE. It's supposed to be fast access cuz every sneeze and every user input may modify the state. It should be stored in language-native structure. Sure, maybe a fuckoff array of integers is not the most optimal data structure for readability - but you definitely don't want extra overhead of yaml with parsing and writing and shit.
How often do you check for world state in game? It shouldn't even be once per frame (which is like eternity). You should do it only when choosing dialogue path, or loading some shit in world. You could get away with opening file reading it and closing it on each read for shit like that.
Also, structs are as fast as arrays, and not limited to single data type, so you are just wrong.

Though Codding Jesus review was kinda meh, he didn't do much homework and just focused on low haning fruits.
I can agree with that.

SNN did much better job.
 
Back