this post was submitted on 14 Aug 2025
295 points (96.2% liked)

Programmer Humor

25730 readers
1229 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] cupcakezealot@piefed.blahaj.zone 29 points 1 day ago (15 children)

i would say why would you just not to isAdmin = true but i also worked with someone who did just this so i'll instead just sigh.

also the real crime is the use of javascript tbh

[–] Lemminary@lemmy.world 23 points 1 day ago (1 children)

That's TypeScript. I can tell by the pixels defining a type above.

[–] Maiq@lemy.lol 6 points 1 day ago (1 children)

Was looking at it and could not figure out why their weren't any semicolon's.

[–] ScintillatingStruthio@programming.dev 13 points 1 day ago (3 children)

Neither Javascript nor Typescript require semicolon, it is entirely a stylistic choice except in very rare circumstances that do not come up in normal code.

[–] Lemminary@lemmy.world 12 points 1 day ago* (last edited 1 day ago) (2 children)

Explanation for nerdsThe reason is the JS compiler removes whitespace and introduces semicolons only "where necessary".

So writing

function myFn() {
  return true;
}

Is not the same as

function myFn() {
  return 
    true;
}

Because the compiler will see that and make it:

function myFn() { return; true; }

You big ol' nerd. Tee-hee.

[–] Ephera@lemmy.ml 8 points 1 day ago

That's terrifying, especially in JS where no type system will fuck you up for returning nothing when you should've returned a boolean.

[–] exu@feditown.com 4 points 1 day ago (1 children)
[–] Lemminary@lemmy.world 1 points 1 day ago

Not wrong, but funnily enough, it's a linting rule win. I'd go nuts if I didn't have my type checks and my linters. My current L, though, is setting up the projects initially and dealing with the configuration files if I raw dog it, but that's a problem with ESLint configs and the ecosystem as a whole having to deal with those headaches. So in the end, the JS devs got clever and shifted the blame to the tooling. 😅

[–] Maiq@lemy.lol 4 points 1 day ago (2 children)

That's good to know. Don't know how I didn't know this. Been writing JS since 2000. Always just used them I guess. Ecmascripts look funny to me without them

[–] ScintillatingStruthio@programming.dev 2 points 7 hours ago* (last edited 7 hours ago) (1 children)

Fair enough, I like it better without but I don't have a strong preference and have no issue adapting to whatever the style of the repo is.

I learned about it researching tools to automatically enforce formatting style and came across StandardJS, which eliminates them by default.

[–] Maiq@lemy.lol 1 points 6 hours ago (1 children)

I can see the benefit of matching style when working with others. I only code for myself and never had to worry about conformity for project consistency.

It is good to learn new things.

I'm sure I have some coding habitats that would annoy others.

Consistent styling helps make the actual meaningful changes easier to spot. Probably also useful for your own commit history when working solo in a repo, but most useful in a team, yeah!

[–] Lemminary@lemmy.world 3 points 1 day ago

Same here. My brain interprets them as one long run-on sentence and throws a parsing error.

[–] Ephera@lemmy.ml 2 points 1 day ago (1 children)

Hmm, a webdev colleague said he'd normally prefer without semicolons, but used them anyways for better compile errors.

[–] ScintillatingStruthio@programming.dev 1 points 7 hours ago (1 children)

Interesting, I'm not aware of any way they would affect compile errors. I'd be curious to know more.

[–] Ephera@lemmy.ml 1 points 2 hours ago

I don't have experience with how it affects JavaScript specifically, but independent of programming language, it usually removes the guesswork where the error might be.

The thing is that compilers use fairly static rules for their grammar. So, even if you just typo a comma where there should've been a dot, then its grammar rules don't match anymore and it doesn't really know what to do with your code.
To some degree, it's possible to say certain symbols just cannot appear in a specific place, but especially with a comma, it could be the start of the next element in a list, for example.

Without semicolons, it's likely going to tell you that something's wrong between somewhere before your typo and the next closing brace (}). With semicolons, it can generally pinpoint the specific statement where the comma is wrong.
This should also make analysis quicker while you're editing the code, as it only has to check one statement (or two, if you're inserting a new line and haven't typed the semicolon yet).

load more comments (13 replies)