> While spending a lot of time with monospace fonts and mostly ASCII characters (programming and writing, terminal emulators, IRC/mail/MUDs/feeds in Emacs) and working on a hobby project involving text rendering and selection (with potentially proportional fonts and Unicode), I keep wondering whether it's even worth all the trouble.
Yeah... and that's why FireFox & Eclipse still doesn't get CJK character input right.
The percentage of people that must use characters not included in ASCII is much bigger than people who do.
It is worth the trouble, please consider users outside of the US & England.
I think it would have been better to have every body just learn english as their second (computer usage) language.
I'm german and my english was horrible until I switches my computer and my websites to english ones.
Imagine a world where everybody speaks at least one common tongue, we could have so much more peace and understanding.
English becoming the esperanto of the world is an accident but I don't care which language it is, as long as it has less than 255 letters. (Hawaiian would have fit into a nibble which is cool)
> better to have every body just learn english as their second (computer usage) language
Why not Chinese? It would have many advantages:
- Text layout would be much easier (Chinese fonts are mostly mono-space).
- In addition to the first point, Chinese characters can be easily used for vertical text. Looks much nicer in narrow, tall buttons than latin letters.
- Chinese characters are (mostly) pronunciation independent. No they/there/their anymore.
- It has been shown that dyslexic children have less problems recognizing Chinese characters than latin letters.
- Chinese characters are part of the culture heritage of billions of people (both Chinas, Japan, Korea) and not just something they learn at the university.
- Old-school C enthusiasts can now have meaningful variables names while keeping their self-imposed three-character limit (or was it four?)
- Finally, everybody will use wchar_t
- Edit: But there is one disadvantage. There is no Chinese character for "/s" which some people here seem to need
Logographic writing systems are just a pain in the ass. You have to create huge fonts, you waste ridiculous amounts of space, and you need phonetic descriptions of new words anyways.
Like I said, Hawaiian would be cool since it fits inside a nibble with 16 characters, although the words tend to get long.
Considering how the brain seems to process words when reading ('glancing in context' more than analyzing each letter), I'm pretty sure the length of words does not make reading much longer. Writing is another matter but with auto-predict you could probably shove half the typing off on average.
As a software engineer and cousin of Stitch, Hawaiian gets my vote! :handclap:
> I think it would have been better to have every body just learn english as their second (computer usage) language.
Hmm... it might not be well known to the western world, but AFAIK most parts of the world learns English as their second language.
At least East Asia learns English pervasively throughout your life. We start learning English when we're five.
But still, English is not the only language, and we want to communicate with other people.
Just that people can use English doesn't mean they prefer English & Latin characters to communicate.
You can't just er... force people use Latin characters for the sake of programmers' comfort.
Will you use your terminal if the terminal demands you to press space & backspace everytime when you're typing in English characters?
I know that many parts of the world including Asia learn english, thats why I think it should be used as the langua franca, and thats why I said, that I don't care which language it is, as long as it doesn't have weird ligatures or a large amount of characters.
For what it's worth I'd remove all characters that are not from that "computer language" including the german ones.
This is more than programmer convenience, this is about system simplicity, absolute correctness (too many bugs because of unicode and complex layouting) and above all about _forcing_ people to use said lingua franca to become comfortable speaking it.
If you want your own writing system, fine, but put the effort in and build it yourself apart from the common bug free code base that the world shares, it should be less buggy overall anyways, than a system which tries to speak every language and support every writing system.
> This is more than programmer convenience, this is about system simplicity, absolute correctness (too many bugs because of unicode and complex layouting) and above all about _forcing_ people to use said lingua franca to become comfortable speaking it.
The reason the writing system in computers are simple is because the latin characters are simple, and the majority of early computer users (which the majority of was English speakers) didn't feel the need of sophisticated systems.
I (often) find that complexity that is inside the western culture is warranted, while complexity not in western culture is not.
While not a great analogy, think of TTS. English TTS is (at least from what I have heard) not that easy (encodable in logic, but not as simple as mapping characters to audio). That resulted in some sophisticated TTS systems, where it can handle lots of different phonetic structures.
Compare this to Hangul (the Korean character system) where every character is composed of several mini-characters which have a unique mapping to audio. Basically for a minimal viable product you can just convert text to decomposed format(NFD) and map the char points to audio.
Now, let's say that some company (an arbitrary choice, Facebook) decided to make a global TTS product, first in Korea. They just decided to map the char points to audio and post-process the audio. This TTS architecture obviously can't handle English without some major architecture changes. Then Facebook decides, this is a problem in English where the phonetic structure is unnecessarily complex, and won't provide TTS service to English users.
This is something similar to what CJK users face, that people just won't make products that work reliably with CJK.
As I already argued in a different comment, I find Hangul to be more elegant than latin, even though I think that the syllabic block notation would add unnecessary complexity to an implementation.
The thing with Korean is that "nobody" speaks it. Had early computers been developed in Korea and would everybody speak Korean I would argue now that everybody should just learn Korean. But tough luck, it didn't. Our best shot at a lingua franca and simple computer systems(simple in the sense; as little complexity as possible) is with english.
I can understand (but don't fully agree to) a claim like that a F/OSS software should be primarily in English to maximize its community, as many programmers already speak English to some extent out of necessity anyway. But forcing English to ordinary people not using English? Plain absurd.
For starters, while young people may feel more comfortable with occasional English older people don't, and your proposal will make them much more uneasy. Smartphone penetration rate around the world [1] can easily reach 50% for many countries and that would include many people unable to understand English---I live in Korea and older people are technologically no inferior to younger people in that regard. Impossible when you force them to use English.
> I live in Korea and older people are technologically no inferior to younger people in that regard.
You guys truly are wonderful unicorns. How do you do it? (serious question in that regard)
On topic, I think the ultimate solution is to have whatever language input/output be essentially a placeholder, and then some general "switching" system which puts whatever language a user prefers. It should be able to switch on-the-fly totally independently of application state. (same thing for numbers, outputting decimal or hexadecimal should happen on-the-fly, same model value but different user view)
Commercial OS's tend to be pretty invasive these days, but the one thing where we need more of them, and better tooling, is definitely text i/o.
Adults do learn languages well when required, sure. I question that we should. Making additional [1] billions of people learn a new language is not cost-effective compared to a (comparably) small number of software engineers wrestling with i18n (haha). It is sad that English knowledge is very valued among, for example, several non-English [EDIT] workplaces even when it is not required at all.
> Hangul would also be a nice lingua franca writing system, too bad its very local
By the way, Hangul was tailor made for Korean with its relatively simple CGVC syllable structure. I doubt it can be generalized much---Hangul is important because it is one of the first featural alphabets, not because it is a universal (or at least adaptable) featural alphabet where it isn't.
[1] English has about 2 billion speakers (400M native + 750M L2 + 700M foreign), so you need another billion speakers or two to make your proposal real.
[EDIT] was "CJK", but I'm not sure about Chinese and Japanese.
Instead of the total number of speakers the better metric would be the diversity of the speakers.
A language is a better candidate for a lingua franca if its spoken everywhere a little, than somewhere a lot, e.g. Mandarin.
And this is not about cost, but about Bugs in critical infrastructure.
I'd get rid of smartphones and unicode in a heartbeat if it meant bug free command line applications, no malware, and medical and infrastructure that doesn't crash.
I think its great when non english workplaces require english. It gives people an incentive, because humans are a lazy species. And once you learned it you can use it on your next vacation, your next online encounter, and who knows where.
Having computers only do english would have given a similar incentive, and I'm sad we didn't use that opportunity.
English is the lingua franca, but not more than that. Most communication is still done and will always be done in local languages, and computers should work for them.
They wouldn't be forced, as if they want to use a non-ascii language then they can develop it themselves or pay the absurd amount of money needed to support their language. We have no obligation to give hundreds of thousands of dollars of our time to people for free.
English is a germanic language. You say "gut" instead of "good", "zu" instead of "to", "wir" instead of "we", "Wetter" instead of "Weather", "nichts zu tun" instead of "nothing to do".
You will not be doing as much effort as someone from a totally different native language. The CIA calculated that it requires over 4 times the effort to learn Chinese for an English speaker than learning French. It also applies back, a Chinese will find it very hard to learn proper English.
Learning English for a german student is as easy as taking the train and spending some days in England.
Now for most Chinese, or even Indian(they have more than 20 languages) people, or Arabic,it is not so easy.
The fact is that they are in a disadvantage,not in a leveled field and they don't like it.
They are the majority of the population in the world, so if they develop their economies they will force everybody else to learn their native language, not the other way around.
By then everybody will speak enough english that it won't matter. The economies of the network effect are quite simple.
And of course I'm at an advantage, the very fact that I'm german would put me at an advantage even if english was as far away as possible from german, because I have the resources, I have free education and I have free medicare, plus 400 years of the subjugation of the third world in my back. So what. Life isn't fair, the worlds top 30 People own as much as the bottom 3 Billion, thats unfair.
Instead of bickering about which language would be fairest to adopt you should help make everyone adopt SOME language so that they can organize and exchange. So that they can understand for themselves what other are saying instead of having to rely on potentially biased news. So that they can talk to each other, for sympathy and empathy and understanding.
That would mean throwing away a heap of literature (books, songs, etc) and legal documents, which are hard to translate respectfully. And english isn’t an excessive language itself, for better or worse. Also, the idea that switching to esperanto-english subset would lead to more peace and understanding seems at least debatable to me.
At the bottomline I find it amazing that a human managed to draw symbols in columns or rows in any direction for centuries, but computers still have trouble with it. Maybe we should blame computer makers, not languages?
Not everything needs to be digitized. My life was happier when bookstores were still around. And when I had paper forms to fill for bureaucracy, because it meant that there was human compassion and wit involved, something that is required for fairness. A digital application of laws does the law no justice.
As for writing direction:
Simple tools allow for complex creation.
Complex tools allow you to only create simple things.
> I think it would have been better to have every body just learn english as their second (computer usage) language.
That seems a little extreme to me. It seems like it might have been better to just adapt writing systems for computer usage. Originally a lot of computer systems didn't have lower case letters, japanese tended to just use katakana, etc. Sure, it kinda forces everyone into an alphabet or syllabary, but language adapting to medium is hardly a new thing.
While it sounds nice to me too (and neither am I a native English speaker), apparently there was a bit of misunderstanding in another comment, and possibly here too: I rather wonder about a hypothetical more efficient (and computing-oriented) writing system, not just/necessarily/only using monospace latin characters. It doesn't seem very realistic that something like that would happen (judging by the mess that are date formats and units of measurement, which seem much easier to fix), but observing the complexity that doesn't come from fundamental constraints, it's hard to not wonder about that.
Yeah... and that's why FireFox & Eclipse still doesn't get CJK character input right. The percentage of people that must use characters not included in ASCII is much bigger than people who do. It is worth the trouble, please consider users outside of the US & England.