this post was submitted on 16 Aug 2023
584 points (89.9% liked)

Programmer Humor

32410 readers
1 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

TIL about the greek question mark

Tell me, can you tell the difference between these two characters?

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

top 50 comments
sorted by: hot top controversial new old
[–] qaz@lemmy.world 115 points 2 years ago (2 children)

Every syntax highligher shows this and VSCode even has a special case for this, this is not a real issue.

[–] theKalash@feddit.ch 54 points 2 years ago

I just tried and it just turns into a proper semicolon and everything works. (Sublime Text).

That might explain that:

In Unicode, it is separately encoded as U+037E ; GREEK QUESTION MARK, but the similarity is so great that the code point is normalised to U+003B ; SEMICOLON, making the marks identical in practice.

load more comments (1 replies)
[–] SomewhatOffBeat@ttrpg.network 108 points 2 years ago (4 children)

Like r/programmerhumor, this community is already full of people who literally never programmed anything more than Hello World before.

[–] TimTamFlimFlam@discuss.tchncs.de 58 points 2 years ago (14 children)

And just like Reddit you're complaining about it for absolutely no reason. How about we try to be a bit more welcoming and a bit less gatekeepery.

[–] IncognitoErgoCvm@reddthat.com 8 points 2 years ago

That's kind of an absurd position when the explicit purpose of segmented communities is to gatekeep content.

load more comments (13 replies)
[–] anarchyrabbit@discuss.tchncs.de 37 points 2 years ago

Just because a meme is not reality doesn't mean it can't be funny.

[–] exu@feditown.com 11 points 2 years ago

Did you expect anything different?

load more comments (1 replies)
[–] P1r4nha@feddit.de 95 points 2 years ago (2 children)

I get this warning in my IDE (VS Code) so I feel safe:

The character U+037e ";" could be confused with the ASCII character U+003b ";", which is more common in source code.

[–] XTornado@lemmy.ml 36 points 2 years ago (1 children)

Well, there goes my diabolical plan, crushed like a bug under someone else's shoe. Back to the drawing board, I guess.

[–] Comment105@lemm.ee 3 points 2 years ago (1 children)

Would be weird to be crushed like a bug under anyone else than someone else's or simply put your own shoe.

[–] XTornado@lemmy.ml 4 points 2 years ago

I meant the plan not me being crushed.

[–] Goun@lemmy.ml 2 points 2 years ago

This means we're just late? Dang

[–] xtremeownage@lemmyonline.com 50 points 2 years ago

yea... every modern IDE makes it extremely obvious of the unicode character.....

SO.... yea...

If you really wanted to be evil, zero-width space is the worst.

https://symbl.cc/en/200B/

You don't see it.

[–] EtzBetz@feddit.de 47 points 2 years ago (2 children)

Laughs in just removing all semicolons because it's not necessary in JS.

[–] Andrew15_5@mander.xyz 5 points 2 years ago (3 children)

It is recommended. But in TS it is not necessary with rare exceptions.

[–] DrM@feddit.de 6 points 2 years ago (1 children)

thanks to eslint enforcing it in the default rules it's necessary for most typescript projects

[–] NatoBoram@lemm.ee 4 points 2 years ago (5 children)

Except that you should use Prettier for formatting instead of ESLint. That said, semicolons are useless noise

load more comments (5 replies)
[–] fidodo@lemm.ee 4 points 2 years ago (2 children)

I wouldn't do it without an auto formatter. With prettier it will catch potential no semi colon issues.

load more comments (2 replies)
load more comments (1 replies)
[–] CanadaPlus@lemmy.sdf.org 4 points 2 years ago

Great, now you just need to do the rest of the code.

[–] PowerCrazy@lemmy.ml 19 points 2 years ago

Unicode was a mistake.

[–] drathvedro@lemm.ee 12 points 2 years ago

Вгь, Iмa gо sрrinкlе sоме cугilliс снаггастегs аll оvег sомеоnе's lаrаvеl vаlidатiоn гules

(The аеос's are the most evil ones)

[–] Unreliable@lemmy.ml 12 points 2 years ago (1 children)
[–] AnUnusualRelic@lemmy.world 4 points 2 years ago

This file shows that the font my web browser uses is quite incomplete.

[–] unionagainstdhmo@aussie.zone 10 points 2 years ago

It's been a while but doesn't JavaScript work without semicolons and just fail silently?

[–] Chaphasilor@feddit.nl 8 points 2 years ago

Just remove everything that looks like a semicolons, problem solved. You don't need semicolons in JS

[–] nxfsi@lemmy.world 8 points 2 years ago (1 children)

Why did Unicode even allow these symbols even exist? What happened to using a single encoding for similar symbols like in CJK? Uriel must be rolling furiously in his grave rn

[–] Squids@sopuli.xyz 36 points 2 years ago* (last edited 2 years ago) (3 children)

Because the point of unicode is to accurately depict every sort of writing regardless of format, not to make a neat table of every unique glyph. Fonts may want to render the two differently or treat them differently. Same reason why there's a difference between an em dash and a quotation line mark

Same reason why unicode is full of random characters that only ever appear like thrice in some Russian coptic manuscript from the 3rd century - it's about being able to depict something, not perceived usefulness

Also excuse my ignorance, but who's Uriel? Because right now I just have the mental image of a very upset archangel which I'm guessing is not what you're referring to. I mean it could be - I'm pretty sure unicode would fall under his domain of literature

[–] nxfsi@lemmy.world 10 points 2 years ago

every sort of writing regardless of format

💯💯😹👁️👄👁️ well 👏👏 said! 🍌🍑💦🫄🏻🎉🎉

load more comments (1 replies)
[–] Zyansheep@programming.dev 7 points 2 years ago
[–] alokir@lemmy.world 5 points 2 years ago

Use both the latin x and the cyrillic х as variable names in the same scope. Your coworkers will thank you.

[–] dutchkimble@lemy.lol 3 points 2 years ago

Yes. One is in the matrix movies and the other isn't.

[–] c3zth@lemm.ee 2 points 2 years ago

Hah, I will know it’s an error as I hardly use semicolons in JS. #rekt

[–] jordanlund@lemmy.one 2 points 2 years ago (1 children)

The Greek question mark is a fraction of a mm thicker. :)

I got used to seeing the same thing between O and 0 in certain fonts. O is wider than 0.

[–] d3Xt3r@lemmy.nz 4 points 2 years ago (1 children)

Cool, but can you spot the difference between I and I?

[–] jordanlund@lemmy.one 2 points 2 years ago (1 children)

That one I never could crack. | is longer so that's easy.

[–] DrRatso@lemmy.ml 4 points 2 years ago

lI makes it pretty simple to see - uppercase i is just a tad shorter.

load more comments
view more: next ›