I can only imagine how difficult can it be to do such a conversion in
a project like Twisted or Django where the I/O plays a fundamental
role.

For Django, you don't need to imagine, but can look at the actual changes:

http://bitbucket.org/loewis/django-3k/

The choice of forcing the user to use Unicode and "think in Unicode"
was a very brave one, and I'm sure it's for the better, but not
everyone wants to deal with that because Unicode is hard to swallow.
The majority of people prefer to stay with bytes and eventually learn
and introduce Unicode only when that is actually needed.

It's not really an issue with "Unicode", but rather with "characters".
Surprisingly, most people don't grasp the notion of "abstract character".

This is similar to not grasping the notion of "abstract integral number", which most programmers master over time (although my students typically need a year or more to get the difference between "decimal number", "two's complement", and "abstract integer"; the difference between "character string" and "number" is easier (*)).

For numbers, programmers are forced to accept the abstraction. For character strings, they apparently resist much more.

Regards,
Martin

(*) An anecdotal dialog may read like this
Teacher: "How are numbers represented in Python?"
Student: "In decimal."
T: "How so?"
S: "I can do
      x = 47
    and it is decimal. I can then do
      print x
    and get "47". See?"
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to