Text-mode apps (Was :Who are the "spacists"?)

Steve D'Aprano steve+python at pearwood.info
Thu Mar 30 10:14:41 EDT 2017

On Thu, 30 Mar 2017 03:21 pm, Rick Johnson wrote:

> On Sunday, March 26, 2017 at 2:53:49 PM UTC-5, Chris Angelico wrote:
>> On Mon, Mar 27, 2017 at 6:25 AM, Mikhail V <mikhailwas at gmail.com> wrote:
>> > On 26 March 2017 at 20:10, Steve D'Aprano <steve+python at pearwood.info>
>> > wrote:
>> >> On Mon, 27 Mar 2017 03:57 am, Mikhail V wrote:
>> I generally find that when people say that Unicode doesn't
>> solve their problems and they need to roll their own, it's
>> usually one of two possibilities:  1) "Their problems" are
>> all about simplicity. They don't want to have to deal with
>> all the complexities of real-world text, so they
>> arbitrarily restrict things.
> There are only so many hours in the day Chris. Not every
> progammer has the time to cater to every selfish desire of
> every potential client.

Oh, you're one of *those* coders. The ones who believe that if they
personally don't need something, nobody needs it.

Listen, I'm 100% in favour of the open source model. I think that coders who
scratch their own itch is a great way to produce some really fantastic
software. Look at the Linux kernel, and think about how that has evolved
from Linus Torvalds scratching his own itch.

It can also produce some real garbage too, usually from the kind of coder
whose answer to everything is "you don't need to do that".

But whatever, its a free country. If you don't want to support a subset of
your potential users, or customers, that's entirely up to you.

The honest truth is that most software ends up languishing in obscurity,
only used by a relative handful of people, so its quite unlikely that
you'll every have any users wanting support for Old Persian or Ogham.

But if you have any users at all, there's a good chance they'll want to
write their name correctly even if they are called Zöe, or include the
trademarked name of their Awesome™ product, or write the name of that hot
new metal band THЯДSHËR, or use emoji, or to refer to ¢ and °F

You might call it "selfish" for somebody to want to spell their name
correctly, or write in their native language, but selfish or not if you
don't give your users the features they want, they are unlikely to use your
software. Outside of the Democratic People's Republic of Trumpistan, the
world is full of about seven billion people who don't have any interest in
your ASCII-only software. It's not 1970 any more, the world is connected.

And the brilliant thing about Unicode is that for a little bit of effort you
can support Zöe and her French girlfriends, and that Swedish metal band
with the umlauts, and the President's Russian backers, and once you've done
that, you get at least partial support for Hebrew and Chinese and Korean
and Vietnamese and a dozen different Indian languages, and even Old Persian
and Ogham, FOR FREE.

So if you're wanting to create "the best product you can", why *wouldn't*
you use Unicode?

> You try to create the best product you can, 
> but at the end of the process, there will always be 
> someone (or a group of someones) who are unhappy with the
> result.

>> [ ] Speaks English exclusively
> Of course, your comment presupposing that every programmer
> is fluent in every natural language. Which is not only
> impractical, it's impossible.

Don't be silly. You don't have to be fluent in a language in order for your
program to support users who are. All you have to do is not stop them from
using their own native language by forcing them to use ASCII and nothing
but ASCII.

Of course, if you want to *localise* your UI to their language, then you
need somebody to translate error messages, menus, window titles, etc. I'll
grant that's not always an easy job.

But aren't you lucky, you speak one of a handful of lingua francas in the
world, so the chances are your users will be pathetically grateful if all
you do is let them type in their own language. Actual UI localisation is a

>> [ ] Uses no diacritical marks
> Why is it my responsibiliy to encode my text with
> pronuciation tutorials? Are we adults here or what?

Now you're just being absurd. Supporting diacritics doesn't mean you are
responsible for teaching your users what they're for. They already know.
That's why they want to use them.

Diacritics are for:

- distinguishing between words which look the same, but have 
  different pronunciation;

- distinguishing between different letters of the alphabet, like 
  dotted-i and dotless-ı (or ı and ı-with-a-dot, if you prefer), 
  or a and å;

- distinguishing between words which look and sound the same but
  mean something different;

- and making band names look ǨØØĻ and annoy old fuddy-duddies.

>> [ ] Writes all text top-to-bottom, left-to-right
> Not my problem. Learn the King's English or go wait for
> extinction to arrive.

Which king?

Harald V speaks Norwegian, Felipe VI speaks Spanish, Hamad bin Isa speaks
whatever they speak in Bahrain (probably Arabic), Norodom Sihamoni speaks
Cambodian, Vajiralongkorn speaks Thai, Mswati III speaks Swazi, Abdullah II
speaks Jordanian (Arabic?), Willem-Alexander speaks Dutch, Salman bin
Abdul'aziz speaks Arabic. I've probably missed a few other kings.

When extinction arrives, speaking English isn't going to hold it at bay. If
anything, English speakers (or at least, *American* speakers) are likely to
be the ones bringing it on.

“Cheer up,” they said, “things could be worse.” So I cheered up, and sure
enough, things got worse.

More information about the Python-list mailing list