any modern compiler or ide will notice this and warn you.
Programmer Humor
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
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
Same, I thought this is gotta be a problem for someone who uses notepad as their main editor.
meanwhile vim:
If you are coding on vim you use a language server 😝
vim is not an ide i believe. but an lsp will notice
Any remotely capable IDE will immediately show you what, and where, the problem is.
it would still be confusing why all semicolons are highlighted
VSCode has a special case for this
That means that detection was added explicitly because this prank was done enough that it was worth it to add.
We do a little trolling
The reason is in fact not only because of this exact symbol, but because people tried to change program’s behavior in a malicious way by replacing legitimate code with same looking symbols.
Something similar happened to me a while back. I was copying some code from a Mac to a remote Linux host. For some reason the Mac was using a thing called an “en dash” –
which is slightly longer than a regular hyphen -
and was really fucking frustrating to figure out.
I don't know why I'm here commenting about this, but I love type, so:
Hyphen (-): the short one, used for hyphenated words. fire-eaters. Close-up.
en-dash (–): slightly longer, traditionally the length of a lowercase"n" in the typeface. Used between for things like a timeframe. 10–11:30, August–October
em-dash (—): the longest of the three, and the length of a lowercase "m". Used as a punctuation mark to denote a side comment or to abruptly cut off a sentence. "It's a great punctuation mark—in fact I overuse it—but it's still useful." "Hey where are you going with that giant—"
I didn't bother to double check the definitions, so there might be more specific rules, but these are my rules of thumb.
Dictionary source for possible particulars: https://www.merriam-webster.com/grammar/em-dash-en-dash-how-to-use
Ah this is nice!
Thank you. I have learned something new today!
Some mac apps have some quirks, the default note app was probably not meant for pasting code in, but when you do it changes the quotes and makes them all fancy. Drives me up the wall and there's nobody to blame but me.
I blame Steve Jobs.
Let’s dig him up and put him on trial. If it’s good enough for the pope, it’s good enough for him.
I was looking for this. Some text from webpages end up pasting that way too, even on non-mac systems, and it is utterly infuriating. Nothing I hate more than having to paste something into notepad++ so I can fix all the stupid quotes from some online tutorial that is giving you things to paste into a command prompt.
I knew a guy who used the Unicode character for a space in his password. He figured if anyone ever saw his password they'd think it was a space and still not be able to use it. It's silly, but it was a fun thing to learn about him.
ESLint has entered the room
semicolons are optional in js anyway....
Most of the time. Sometimes it can lead to code that is ambiguous and ASI picks the wrong way to interpret it.
If the language doesn't force me to use semicolons i will forget
Me who programs in rust which has a specific compiler message to tell me what happened
Cargo fix
Technically I don't think any Greek layout uses a different Unicode codepoint for the question mark. In fact, the ordinary semicolon symbol is used, so what the meme describes would probably not happen IRL.
Does all this make it any less funnier? No. It's still brilliant.
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.
Source: https://en.wikipedia.org/wiki/Question_mark
I'm still curious whether it would be accepted by the code interpreters / compilers of various languages. I'm not bold enough to assume they all normalise properly.
Wow, thank you, didn't know of that.
Unicode should have enforced the principle of using the same encoding for similar looking characters like they did with CJK instead of allowing bullshit like the Cyrillic "o" or the Greek question mark.
1,000% percent.
I don't even know what to say to this one.