Pure Evil

realitista@lemmy.world to Programmer Humor@programming.dev – 436 points –
56

any modern compiler or ide will notice this and warn you.

Same, I thought this is gotta be a problem for someone who uses notepad as their main editor.

Yeah, it will tell you that it existed a semicolon... 😁

...for which my default fix would be to delete and reenter it in hopes of fixing ehatever hiccup the syntax validator is having

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.

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.

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 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.

Ah, my favorite character. I abuse the hell out of the em-dash.

For someone who abuses it, there is a remarkable absence of em-dashes in your comment :—)

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.

Which character. Does it need Combination of keys or a Single key.

That's pretty neat, but also means he will never be able to log into things on mobile

Bitwarden has no problem filling passwords containing unicode characters on Andorid.

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.

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.

Me who programs in rust which has a specific compiler message to tell me what happened

Who uses semicolons in Javascript?

Every real programmers

In that sentence, we use "programmer" singular, because "every" is singular, though referring to many

All real programmers

Every real programmer

Each real programmer

No real programmer

It's pretty arbitrary

Old habits die hard. Learned JS, CSS and C++ all the same year about a decade ago.

People who like minimizing the amount of bug fixing.

I use prettier which by default adds semicolons. Coming from predominately doing backend stuff (mostly in Java) I don’t really mind, especially when the formatter adds them for me

4 more...