8 ms·
> Please use good ol' plaintext I want to emphasize on that. Why do programmers like plaintext, often to the point of wanting ASCII instead of unicode despite
by Iv 7y ago
> Please use good ol' plaintext
I want to emphasize on that. Why do programmers like plaintext, often to the point of wanting ASCII instead of unicode despite its international awesomeness?
That's because we are called when things break down in the machinery. Monospace ASCII may look boring, but it has a precious characteristic: there is (almost) 1-to-1 mapping between the inner representation of a character and its screen representation.
Most programming fonts make sure 1 l | i I all look different.
We make sure we can spot the difference between `'"
We know of the few remaining pitfalls, like space and tabs, \n and \r, the various escape characters, the infamous \0.
Even on that limited representation, there are many things to be careful of. And thing is: this representation is just the start of our work! all the rest hinge on that!
Unicode is full of invisible character, potential diacritics, similar-looking glyps, control character that can break the display in a lot of annoying ways.
We made a whole ASCII-based ecosystem because this mapping is precious in many debugging cases. Whatever one does in the (and I say that non-sarcastically) really wonderful and awesome world of unicode, remember that we are going to often only see it as a bunch of 0xF0 0x9F 0x92 0xA9 (<- ASCII rendition of the "pile of poo"" emoji).
Emoji are great to make some apps prettier, some chat concise, to add non verbal communication to online chat. They are not a tool to help developers' life.
- WalterBright 7y agoI was keying in my confirmation code into the self checkin machine to get my boarding pass the other day. The code was something like EFO123. Was that a letter or a digit? I got it wrong, fortunately the software said it interpreted 0 as O and gave me the ticket. Now multiply this by a thousand with Unicode exact lookalike glyphs.
- nicoburns 7y agoEmoji like those in this article don't have this issue though.
- Iv 7y agoYou can still have problems with them. They propose to ID a commit type by the first character. Arabic is written from right to left. Which emoji is the first character of this sequence? It actually depends on the position of invisible LTR control characters. علامة يمين-إلى-يسا EDIT: BTW, HN does not support emojis apparently
- knolax 7y agoI once had an issue where GTK-2 couldn't display any characters that were in ASCII/latin basic. It was down to Pango dropping support for the monospace font I used for that range of characters. In my opinion the most reliable part of your system is the part you put the most attention on. ASCII is only the most reliable if you choose to use it as the basis for your system and then ignore support for everything else. Although I do agree the one character to one codepoint mapping of ASCII is useful, things like terminal escape codes already add a layer of complexity that makes it hard for me to imagine a scenario where you can't render U+1F4A9 but can still render things like ^[[31m found in almost every cli tool.
- GeneralMaximus 7y agoOnly programmers from English-speaking countries like ASCII. There are millions of us living in other countries who are thankful that Unicode exists, and who are constantly annoyed that a some of our tools don't support it well enough. As someone who grew up bilingual in a country where it's not uncommon for people to speak three or more languages, I hate the idea of being prevented from using one of the languages I speak while doing my job. Especially when I'm building products that eventually get translated into five or six different languages, all using different scripts. This is one reason I prefer using GUI applications over CLI applications: Unicode support is terrible across terminals and CLI apps, while most of the commonly used GUI frameworks are okay. If your app has no issues rendering हैकर न्यूज़ (Hacker News), then it should have no issues rendering Emoji. If your app cannot render that bit of Hindi text, then the problem is your app and not Unicode.
- DagAgren 7y agoIronically, you can't even write proper English in ASCII. It is missing many characters widely used in English text.
- ithkuil 7y agoCan you make a few examples?
- tedunangst 7y agoI suppose emdash may count. Spellings like résumé or coöperate if you're fussy about that.
- turdnagel 7y agoThough the New Yorker is an eminent institution, their usage is pretty uncommon. Definitely not “widely used.”
- ithkuil 7y agois "résumé" an English word? EDIT: I guess then that also "café", "façade" and "señor" can retain their original spelling. The question is: where does it stop? will latin-1 suffice?