> Why not also make unicode() the default type constructor and only
> keep str() as alias to simplify porting (perhaps with a warning) ?
> 
> The term "string" is just too overloaded with all kinds of
> misinterpretations. The term "string" just refers to a string of
> bytes - a variable length array so to speak. However, depending
> on the application space, "string" is used as synonym for
> "text string" just as well as "data string".
> 
> Removing the term "string" altogether would make it easier for
> people to understand that Py3k only has unicode (for text data)
> and bytes (for binary data).

I agree that "string" is very overloaded, but calling it "unicode" is
sort of like calling integers "int32" -- that is, you're talking about
the implementation rather than the type.  In most programming
languages that aren't at the machine level (like C is), "string"
really is a sequence of text characters, not a "string of bytes", and
that's probably the term that should be used for Python going forward,
despite the legacy issues it involves.

Personally, I feel that "string" (for text) and "bytes" (for binary
data represented as a sequence of bytes) are appropriate terms for
Python.  Keep "unicode" for a release or two as an alias for "string".
But isn't all this in a PEP somewhere already?

Bill
_______________________________________________
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