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.

Some Spaceman

From Spess
kiwifarms.net
Joined
Jan 8, 2025
1752027784951.webp
Code sperg but what retard in the Gamemaker dev team decided that "<= 0.5" being falsey was good language design? Are they retarded? Did Maldavius Figtree social engineer his way onto the Gamemaker dev team???
 
GML (the language Gamemaker uses) is a bit of a Frankenstein language that has been altered dramatically over like 25 years, starting out as a Delphi variant for some reason. Anyway its full of random nonsense for compatibility or historical retardation reasons but over the last 3 or 4 years and continuing into the next 2 or 3 they have changed/will change a lot of the core parts of the language to be a lot more sensible and modern (for example structs didn't exist until a few years back, they added a bunch of function functionality, pun unintended, like callback methods). Now its kind of approaching a real language instead of one aimed at kids, like a weird hybrid between Javascript and C#. When Mald started working on Heartbound there was somewhat of an excuse for some of the dumb shit he did because the language didn't support more modern, advanced data structures and techniques, but its been like 3-4 years since most of the stuff was added and he has no excuse.
 
Which is why I said it's required for any input or output of values other than binary. 2 + 2 is impossible without data types, you'd have to type 10 <whatever the ISA op code for addition is> 10. And don't even think of typing characters.
binary is just a representation of numbers. Same with hex (which is what you'd actually use at that low level)

for example, to do 2+2 you'd do:
mov eax,2 //b8 02 00 00 00
add eax, 2 //83 c0 02
and even that is a simplification because you can use many different assembly instructions to achieve the same thing.
for example 01 c0 would be add eax, eax which would also result in 2+ 2, if 2 was already loaded into eax.
or you could load 2 into another register and add that to eax and so on.

I highly recommend this talk if thats interesting to you.

Code sperg but what retard in the Gamemaker dev team decided that "<= 0.5" being falsey was good language design? Are they retarded? Did Maldavius Figtree social engineer his way onto the Gamemaker dev team???
I can easily see a reason for that being that comparing reals with just == 0 wouldn't work, as you can easily have very small leftover from floating point imprecision. And so, where to set a good breakpoint for when it becomes truthy? 0.5 seems like a decent enough point to set it as, as you can then just round the number.
 
"self explaining code is dogshit practice"
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.
 
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.
Self-documenting code:
C:
if(is_mald_gay) {
    printf("What a fag");
} else {
    printf("Here, let me fix that for you");
    is_mald_gay = true;
}

Maldavius Figtree code:
C:
if(global_array[3991] == 82) {
    function_1113(arg_decrypt("a8udfaosofjoasd", 881));
} else {
    global_array[3991] = 82;
    function_1113(arg_decrypt("8ausdfas9df8a", 666));
}
 
Maldavius Figtree code:
oooooh....so its like, a function is called "bleeding state" and then any time it shows in code again, literally anywhere, it says "bleeding state failed to inflict : invalid target"? rather than "function1234 crashed"????

sorry if these seem stupid questions, most I've ever done was TINY code edits.

But yeah if its indeed that bad, fuck. self documenting code is why I've been able to mod what LITTLE I could.

Can we normalize beating people who do this whole "I'm going to give my take on a COMPLEX issue and NOT bother to do basic research"?

I swear I fucking hate this specific thing so much. If you don't want to spend an hour researching, FINE, but shut the fuck up. If you want to talk about it, at least know what the fuck you are talking about. Its not even just her, I've seen this SO MUCH in the past 5 years especially.
 
sorry if these seem stupid questions, most I've ever done was TINY code edits.
they are good questions. self explaining code isnt the whole deal of course, sometimes for more complex functions and those with less context you still would use comments (so someone without the context can follow what's happening). a dev should also document their code

the problem with dumb fucking nepobaby is that self explaining code is part of it, and still entirely useful. much more useful than what he's currently doing, then justifying that it's bad on purpose, then calling the bare minimum a software dev should do 'dogshit practice' because, as with anything in his life, he doesnt understand it
 
  • Like
Reactions: Arocyt
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.
I.e.
Code:
Optional<Error> doSomeShit(User user)
{
  if (not isAuthorized(user)
  {
    return Error("unauthorized");
  }
// DO SHIT HERE
}

vs
Code:
void doSomeShit(int user)
{
  authorization_true = global.user_info[user][1];
  if(authorization_true == 0)
  {
    return;
  }
  // DO SHIT HERE
}
In good [1] case you can see that function might fail, that it takes User as parameter, and there is function that take user (isAuthorized) that will return true/false depending on user authorization, but you don't have to care how it checks for it.

In maldy's style you have to know that number(integer) that represents User it is also a index that have to be valid user_info entry. Additionally you must know that user_info returns array which represents different attributes of User. Also it will fail silently.
In this case it's not that much to know but it adds up fast.

Also what it leads to is if you were to change how this array is represented you will have to change it in every single place that uses it, versus in just isAuthorized function.
Which could become problem if you wanted to add levels of authorization in the future for example.

Edit: Also to add why comments rot. If the second one was commented like this:
Code:
  // Takes authorization info from user entry in user_info array.
  authorization_true = global.user_info[user][1];
If the layout of arrays were changed this comment will be wrong. And because comments aren't checked on compile time, or by any linters they will remain wrong until someone notices it.
 
Last edited:
oooooh....so its like, a function is called "bleeding state" and then any time it shows in code again, literally anywhere, it says "bleeding state failed to inflict : invalid target"? rather than "function1234 crashed"????
The idea is that you should be able to understand what the code does at a glance, with as little comments as possible. Provided you know the language and the general context.

So, it's obvious what something like if(mald_is_gay) {...} means, but when you have a if(array[8382]) {...} you either need to add a comment (which is a waste of space, and adds additional maintenance cost, because now have to keep code and comments in sync when you want to modify something), or worse, start searching WTF array[8382] even is in case there are no comments.
 
self explaining code isnt the whole deal of course, sometimes for more complex functions and those with less context you still would use comments
He's clearly using GameMaker/GML because it's a beginner's tool (and Undertale of course). It's a very verbose language to the point where functions literally explain themselves akin to JavaScript. Which is fine, JS/GML are beginner languages, verbosity is good, but that means comments aren't necessary or even really supposed to be used. If we were using C(++) or some other low-level language, then sure, I wouldn't know what the fuck "0c >> 5a" means without comments.

Example GML functions:
AppleScript:
"Window_set_size()" - "Script_execute()" - "Draw_sprite()" "Object_get_name()" "Instance_destroy()"

Example JS functions:
JavaScript:
new String("What am I supposed to do for you?").startsWith("What").endsWith("you?").includes("supposed").match(/to do/g);
 
Working on something all night doesn't mean you got any progress done. I've worked on singular functions for hours on end during the night, I'm sure all he did was add dialogue into his massive fucking array with comments and called it a day.

Having a normal conversation about his website being shit
Please explain why you failed at using a grid, please explain why you have the most atrocious button ever made in existence, please explain why you have separator classes yet still use br's, please explain why you apparently don't give a flying fuck about mobile users despite your audience being thumb-sucking phone-faggots, please explain as to why you don't use multiple pages, please explain what "p" tags are (you don't know), please explain why all of these problems are present on your fucking homepage about coding.

Yeah, using BR's is, in fact, funny. It's funny because it shows complete fucking incompetence in a "language" that was designed for literal babies starting out making anything on the internet.

"I loving using <br> for new line", but isn't that really what <br> is for? I don't know how that's a mocking
He uses it for padding, not new line. New line would imply he's using a paragraph element, WHICH HE NEVER FUCKING USES. He doesn't even know what he's mocking.
 
Which is fine, JS/GML are beginner languages,
I have no idea how to code, but why wouldn't you use the easier languages? Is it like a power user thing where you can get more done with C or something?

(literally all my code knowledge is a python 101 class which seemed pretty easy and this song.)

 
Is it like a power user thing where you can get more done with C or something?
You can get into lower-level systems. JavaScript is a high-level language, you don't need it to talk specific bits of RAM, it handles it for you, but this comes at the cost of performance and control.
With C/C#/C++/Rust/etc. you can control specific RAM locations, control specific parts of the computer and have generally more performance but at the cost of shooting yourself in the foot.
Lower-level languages are usually also a pain in the ass to actually read, in my opinion.
 
He's clearly using GameMaker/GML because it's a beginner's tool (and Undertale of course). It's a very verbose language to the point where functions literally explain themselves akin to JavaScript. Which is fine, JS/GML are beginner languages, verbosity is good, but that means comments aren't necessary or even really supposed to be used. If we were using C(++) or some other low-level language, then sure, I wouldn't know what the fuck "0c >> 5a" means without comments.

Example GML functions:
AppleScript:
"Window_set_size()" - "Script_execute()" - "Draw_sprite()" "Object_get_name()" "Instance_destroy()"

Example JS functions:
JavaScript:
new String("What am I supposed to do for you?").startsWith("What").endsWith("you?").includes("supposed").match(/to do/g);
This might not be the place for it, but all this shit about PirateSoftware made me actually wanna take up coding myself. Not for game development or anything, but just as a skill or something. Are there websites or anything where someone with fuck all experience can learn coding? A part of me wants to understand it, if only to code something better than that fucking prick Thor.
 
This might not be the place for it, but all this shit about PirateSoftware made me actually wanna take up coding myself. Not for game development or anything, but just as a skill or something. Are there websites or anything where someone with fuck all experience can learn coding? A part of me wants to understand it, if only to code something better than that fucking prick Thor.
I know this might be the most retarded advice I can give but get into web development. Easy to get into, and if you're ever like "I want to get into games actually", there are 2D and 3D engines made for video game web development. The fact that it is in a browser then also allows you to distribute it to everyone with a phone or computer. When you do get into more than just static webpages and use JavaScript, you actually learn a language that's used in the world instead of being stuck with something like GML. Following any tutorial on the web makes you a better website developer than Mald so no need to worry about specifics.

Some people I would recommend: https://www.youtube.com/playlist?list=PL4-IK0AVhVjM0xE0K2uZRvsM7LkIhsPT- // https://www.youtube.com/playlist?list=PLZlA0Gpn_vH9xx-RRVNG187ETT2ekWFsq
I would not recommend learning about ReactJS/SCSS/TypeScript unless you find it interesting or absolutely require it, it's bloatware garbage.
 
Are there websites or anything where someone with fuck all experience can learn coding?
khan academy and coursera have good courses for someone who knows nothing. after you get your feet wet and get started on it, try and code a solution that would automate something you do day by day. usual suspects are a weather or fitness app

I know this might be the most retarded advice I can give but get into web development.
web development is great. programming is this massive field, no specific area sucks so long as youre having a good time and/or making money off it
 
Not for game development or anything, but just as a skill or something.
I know this might be the most retarded advice I can give but get into web development.
Web development, for all the memes, is a pretty good way to start learning about code. Since javascript is a very lax language and web development has been optimized in terms of creating an easy and fast testing enviroment that works anywhere, you don't need to know a lot to get an app working, just a core idea.
After you get a good grasp on on coding in a general sense works and want to challenge yourself to something a lot harder, try to learn C# and delve deeper into building complex applications, how to make data structures, interfaces, generic classes, it'll help you understand how data is processed in the backend and how to work with more advanced methods.
What I did to learn C# was go online and try to get one of those challenges where you need to finish incomplete C# code.
 
Without data types you cannot type those characters, assemble it into an object file, and link the .o into an executable. They are the translation layer between the letters and numbers we as humans use and the binary the computer uses.
You literally can, though. Data types are an abstraction at the programming language level, in assembly you only have signedness and widths (halfword, word, etc.)
Let's do the translation manually. I'm gonna use MIPS instead of x86 because the encoding is less complex, but it's the same idea. Suppose I want to increment a value by 5.

add $a0, $a0, 5

I can look up the instruction encoding for immediate operands and see that it looks like

ooooooss sssttttt iiiiiiii iiiiiiii

Filling in the opcode of "add":

100000ss sssttttt iiiiiiii iiiiiiii

Then the register numbers ($a0 is register 4):
10000000 11000110 iiiiiiii iiiiiiii

Finally the operand:
10000000 11000110 00000000 00000111

Converted back to hexadecimal you get:
0x80c60005

Notice that the only thing you had to know about the value is whether it fits into 16 bytes. If your variable is in memory, you first load it into a register, then write it back:
lh $a0, (address)
add $a0, $a0, 5
sh $a0, (address)

Data types only matter when it comes to deciding whether you need to use lb, lbu, lh, lhu or lw, which differ in the width of the value they load and whether they're treated as a signed or an unsigned number. Nobody gives a fuck whether it's an enum or an integer. More or less the only part that's relevant is the size of the variable.

You can put 0x80c60005 anywhere in memory (maybe aligned to 4 bytes), set the instruction pointer to it, and it'll increment $a0 by 5. (To be fair, I'm ignoring whether it needs to be little- or big endian, both within the instructions and whether the final encoded instruction needs to be LE or BE.)

Similarly you can just put all the necessary parts around it to make an executable if you really want, but if you're manually assembling something, you're usually setting up a payload in memory and jumping to it.

For example, entering your player name as BUTTGNOMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[assembled payload bytes]. The data type is a string, and yet, you ensure it gets interpreted as code (via some additional finangling, for example by overwriting the saved return address with the address your payload code ends up being loaded at. If I wrote that out the post would be twice as long at least.)

Data types are only in your mind, man.
tl;dr whether data types are fundamental depends on what level of abstraction you're working at. Mald is working several layers above even assembly, so it could be fair to say they are fundamental to him, but there is no abstraction that cannot be set aside.
 
Last edited:
Back