a slightly more coherent case

Here's a longer, and hopefully more coherent, argument for using the divided-by sign in P3K: 1. If P3K source is allowed to be Unicode, then all Python programming systems (custom-made or pre-existing) are going to have to be able to handle more than just 1970s-vintage 7-bit ASCII. If that support has to be there, it seems a shame not to make use of it in the language itself where that would be helpful. [1,2] 2. As I understand it, support for (int,int)->float division is being added to help people who think that arithmetic on computers ought to behave like arithmetic did in grade 4. I have no data to support this, but I expect that such people will understand the divided-by sign more readily than a forward slash. [3] 3. I also expect, again without data, that '//' vs. '/' will lead to as high a proportion of errors as '==' vs. '='. These errors may even prove harder to track down, since the result is a slightly wrong answer instead of a state change leading (often) to early loop termination or something equally noticeable. Greg [1] I'm aware that there are encoding issues (the replies to my first post mentioned at least two different ways for "my" divided-by sign to display), but this is an issue that will have to be tackled in general in order to support Unicode anyway. [2] I'd be grateful if everyone posting objections along the lines of, "But what about emacs/vi/some other favored bit of legacy technology?" could also indicate whether they use lynx(1) as their web browser, and/or are sure that 100% of the web pages they have built are accessible to people who don't have bit-mapped graphics. I am *not* trying to be inflammatory, I just think that if a technology is taken for granted as part of one tool, then it is legitimate to ask that it be taken for granted in another. [3] Please note that I am not asking for a multiplication sign, a square root sign, or any of APL's mystic runes.

gvwilson@nevex.com writes:
1. If P3K source is allowed to be Unicode, then all Python programming systems (custom-made or pre-existing) are going to have to be able to handle more than just 1970s-vintage 7-bit ASCII. If that support has to be there, it seems a shame not to make use of it in the language itself where that would be helpful. [1,2]
I don't recall any requirement that the host be able to deal with Unicode specially (meaning "other than as binary data"). Perhaps I missed that?
2. As I understand it, support for (int,int)->float division is being added to help people who think that arithmetic on computers ought to behave like arithmetic did in grade 4. I have no data to support this, but I expect that such people will understand the divided-by sign more readily than a forward slash. [3]
I don't think the division sign itself is a problem. Re-training experianced programmers might be; I don't think there's any intention of alienating that audience.
3. I also expect, again without data, that '//' vs. '/' will lead to as high a proportion of errors as '==' vs. '='. These errors may even prove harder to track down, since the result is a slightly wrong answer instead of a state change leading (often) to early loop termination or something equally noticeable.
A agree.
[3] Please note that I am not asking for a multiplication sign, a square root sign, or any of APL's mystic runes.
As I indicated above, I don't think the specific runes are the problem (outside of programmer alienation). The *biggest* problem (IMO) is that the runes are not on our keyboards. This has nothing to do with the appropriateness of the runes to the semantic meanings bound to them in the language definition, this has to do convenience for typing without any regard to cultured habits in the current programmer population. -Fred -- Fred L. Drake, Jr. <fdrake at acm.org> Corporation for National Research Initiatives

Hi, Fred; thanks for your mail.
gvwilson@nevex.com writes:
1. If P3K source is allowed to be Unicode I don't recall any requirement that the host be able to deal with Unicode specially (meaning "other than as binary data"). Perhaps I missed that?
I'm sorry, I didn't mean to imply that this decision had been taken --- hence the "if". However, allowing Unicode in source doesn't seem to have slowed down adoption of Java... :-)
I don't think the division sign itself is a problem. Re-training experianced programmers might be; I don't think there's any intention of alienating that audience.
I think this comes down to spin. If this is presented as, "We're adding a symbol that isn't on your keyboard in order to help newbies," it'll be flamed. If it's presented as, "Python is the first scripting language to fully embrace internationalization, so get with the twenty-first century!" (or something like that), I could see it getting a much more positive response. I also think that, despite their grumbling, experienced programmers are pretty adaptable. After all, I switch from Emacs Lisp to Python to C++ half-a-dozen times a day... :-)
The *biggest* problem (IMO) is that the runes are not on our keyboards.
Agreed. Perhaps non-native English speakers could pitch in and describe how easy/difficult it is for them to (for example) put properly-accented Spanish comments in code? Thanks, Greg

gvwilson@nevex.com wrote:
The *biggest* problem (IMO) is that the runes are not on our keyboards.
Agreed. Perhaps non-native English speakers could pitch in and describe how easy/difficult it is for them to (for example) put properly-accented Spanish comments in code?
you know, people who do use foreign languages a lot tend to use keyboards designed for their language. I have keys for all swedish characters on my keyboard -- att skriva korrekt svenska på mitt tangentbord är hur enkelt som helst... to type less common latin 1 characters, I üsûàllÿ oñlÿ have to use twö keys -- one "dèád keý" for the åccent, föllowéd by thë cörre- spõnding chäråctèr. (visst, ü och é används ibland i svensk text, och fanns förr ofta som separata tangenter -- i alla fall innan pc'n kom och förstörde allting). besides, the use of indentation causes enough problems when doing trivial things like mailing, posting, and typesetting Python code. adding odd characters to the mix won't exactly help... </F>

On Tue, 4 Apr 2000 gvwilson@nevex.com wrote:
Agreed. Perhaps non-native English speakers could pitch in and describe how easy/difficult it is for them to (for example) put properly-accented Spanish comments in code?
As the only (I think?) person here who is a native right-to-left language native speaker let me put my 2cents in. I program in two places: at work, and at home. At work, we have WinNT machines, with *no Hebrew support*. We right everything in English, including internal Word documents. We figured that if 1000 programmers working on NT couldn't produce a stable system, the hacks of half-a-dozen programmers thrown in could only make it worse. At home, I have a Linux machine with no Hebrew support either -- it just didn't seem to be worth the hassle, considering that most of what I write is sent out to the world, so it needs to be in English anyway. My previous machine had some Esperanto support, and I intend to put some on my new machine. True, not many people know Esperanto, but at least its easy enough to learn. It was easy enough to write comments in Esperanto in "vim", but since I was thinking in English anyway while programming (if, while, StringIO etc.), it was more natural to write the comments in English too. The only non-English comments I've seen in sources I had to read were in French, and I won't repeat what I've said about French people then <wink>. -- Moshe Zadka <mzadka@geocities.com>. http://www.oreilly.com/news/prescod_0300.html http://www.linux.org.il -- we put the penguin in .com

On Tue, 4 Apr 2000, Fred L. Drake, Jr. wrote:
1. If P3K source is allowed to be Unicode, then all Python programming systems (custom-made or pre-existing) are going to have to be able to handle more than just 1970s-vintage 7-bit ASCII. If that support has to be there, it seems a shame not to make use of it in the language itself where that would be helpful. [1,2] [...] As I indicated above, I don't think the specific runes are the
gvwilson@nevex.com writes: problem (outside of programmer alienation). The *biggest* problem (IMO) is that the runes are not on our keyboards. This has nothing to do with the appropriateness of the runes to the semantic meanings bound to them in the language definition, this has to do convenience for typing without any regard to cultured habits in the current programmer population.
In general, it seems that there are some places where a programming language implementation should not be on the leading edge, and this is one. I think we'd have to be very confident that this new division sign (or whatever) is going to be in ubiquitous use, on everyone's keyboard, etc, before we could even consider making it a necessary part of the standard language. Do you have that confidence? Ken Manheimer klm@digicool.com

HI, Ken; thanks for your mail.
In general, it seems that there are some places where a programming language implementation should not be on the leading edge, and this is one. I think we'd have to be very confident that this new division sign (or whatever) is going to be in ubiquitous use, on everyone's keyboard, etc, before we could even consider making it a necessary part of the standard language. Do you have that confidence?
I wouldn't expect the division sign to be on keyboards. On the other hand, I would expect that having to type a two-stroke sequence every once in a while would help native English speakers appreciate what people in other countries sometimes have to go through in order to spell their names correctly... :-) Greg

Greg> On the other hand, I would expect that having to type a two-stroke Greg> sequence every once in a while would help native English speakers Greg> appreciate what people in other countries sometimes have to go Greg> through in order to spell their names correctly... I'm sure this is a practical problem, but aren't there country-specific keyboards available to Finnish, Spanish, Russian and non-English-speaking users to avoid precisely these problems? I grumble every time I have to enter some accented characters, but that's just because I do it rarely and use a US ASCII keyboard. I suspect François Pinard has a keyboard with a "ç" key. -- Skip Montanaro | http://www.mojam.com/ skip@mojam.com | http://www.musi-cal.com/

Skip wrote:
I'm sure this is a practical problem, but aren't there country-specific keyboards available to Finnish, Spanish, Russian and non-English-speaking users to avoid precisely these problems?
fwiw, my windows box supports about 80 different language-related keyboard layouts. that's western european and american keyboard layouts only, of course (mostly latin-1). haven't installed all the others... </F>

Greg Wilson wrote:
I wouldn't expect the division sign to be on keyboards. On the other hand, I would expect that having to type a two-stroke sequence every once in a while would help native English speakers appreciate what people in other countries sometimes have to go through in order to spell their names correctly...
Certain stuffy (and now deceased) members of my family, despite emigrating to the Americas during the Industrial Revolution, insisted that the proper spelling of McMillan involved elevating the "c". Wonder if there's a unicode character for that, so I can get righteously indignant whenever people fail to use it. Personally, I'm delighted when people don't add extra letters to my name, and even that's pretty silly, since all the variations on M*M*ll*n come down to how some government clerk chose to spell it. - Gordon

On Tue, 4 Apr 2000, Gordon McMillan wrote:
despite emigrating to the Americas during the Industrial Revolution, insisted that the proper spelling of McMillan involved elevating the "c". Wonder if there's a unicode character for that, so I can get righteously indignant whenever people fail to use it.
Hmmmm...I think the Python ACKS file should be moved to UTF-8, and write *my* name in Hebrew letters: mem, shin, hey, space, tsadi, aleph, dalet, kuf, hey. now-i-can-get-righteously-indignant-ly y'rs, Z. -- Moshe Zadka <mzadka@geocities.com>. http://www.oreilly.com/news/prescod_0300.html http://www.linux.org.il -- we put the penguin in .com

"MZ" == Moshe Zadka <moshez@math.huji.ac.il> writes:
MZ> Hmmmm...I think the Python ACKS file should be moved to UTF-8, MZ> and write *my* name in Hebrew letters: mem, shin, hey, space, MZ> tsadi, aleph, dalet, kuf, hey. Shouldn't that be hey kuf dalet aleph tsadi space hey shin mem? :) lamed-alef-vav-mem-shin-ly y'rs, -Barry

On Wed, 5 Apr 2000, Barry A. Warsaw wrote:
MZ> Hmmmm...I think the Python ACKS file should be moved to UTF-8, MZ> and write *my* name in Hebrew letters: mem, shin, hey, space, MZ> tsadi, aleph, dalet, kuf, hey.
Shouldn't that be
hey kuf dalet aleph tsadi space hey shin mem?
No, just stick the unicode directional shifting characters around it. now-you-see-why-i18n-is-a-pain-ly y'rs, Z. -- Moshe Zadka <mzadka@geocities.com>. http://www.oreilly.com/news/prescod_0300.html http://www.linux.org.il -- we put the penguin in .com

On Tue, 4 Apr 2000 gvwilson@nevex.com wrote:
I wouldn't expect the division sign to be on keyboards. On the other hand, I would expect that having to type a two-stroke sequence every once in a while would help native English speakers appreciate what people in other countries sometimes have to go through in order to spell their names correctly...
Not to mention what we have to do to get Americans to pronounce our name correctly. (I've learned to settle for not calling me Moshi) i18n-sucks-ly y'rs, Z. -- Moshe Zadka <mzadka@geocities.com>. http://www.oreilly.com/news/prescod_0300.html http://www.linux.org.il -- we put the penguin in .com
participants (8)
-
Barry A. Warsaw
-
Fred L. Drake, Jr.
-
Fredrik Lundh
-
Gordon McMillan
-
gvwilson@nevex.com
-
Ken Manheimer
-
Moshe Zadka
-
Skip Montanaro