[python] Co takhle identifikátory s diakritikou?
Pavel Reznicek
pavel.jindrich na tiscali.cz
Pátek Srpen 5 01:39:34 CEST 2005
Ahoj všichni,
co byste tomu řekli, kdydby Python dovoloval psát také identifikátory -
jména proměnných, funkcí a tříd - v národních kódováních a v unikódu?
Třeba takhle:
################################################
#!/usr/bin/env python
# -*- coding: utf8 -*-
žlutá = u'žluťoučký'
zelená = u'zeleňoučký'
modrá = u'modroučký'
červená = u'červeňoučký'
hnědá = u'hněďoučký'
class Kůň():
def __init__():
self.Barvička = žlutá
def JeŽluťoučký():
return self.Barvička == žlutá
# ... nějaký další kód
NovýKůň = Kůň()
if NovýKůň.Barvička == hnědá:
print u'Nově najatý kůň vypadá docela zdravě.'
elif NovýKůň.JeŽluťoučký():
print u'Nově najatý kůň je příliš žluťoučký '\
'a pěje ódy na maďarské lány!'
else:
print u'Nově najatý kůň je nějak '\
'nepřirozeně %s a je úplně zticha!'%(NovýKůň.Barvička)
################################################
Nevím přesně, jak by to šlo uskutečnit, ale kromě zajetých stereotypů
v některých programmovacích jazycích by to snad nic vážně nerozhodilo.
Snad jen někteří nacionalisté by se snažili do světově používaných
balíčků protlačit národní slova či znaky. To by ovšem i nadále nepatřilo
k dobré etiketě. Jak si takový americký programátor může napsat třeba Ů
s kroužkem, když i Čechům to občas dělá potíže? Nu, to je snad mimo diskusi.
Ale když už někdo píše do _soukromého_ kódu řetězce či komentáře
v národním jazyce, proč by nemohl použít národní znaky také
v identifikátorech, do nichž stejně patlá všelijak oholenou a pokosenou
mateřštinu (v případě češtiny bez diakritiky)?
Obecně mám za to, že počítače a programy by se měly (pokud možno) spíše
přizpůsobovat lidem, nikoliv obráceně.
A teď vezměme další věc - napadlo už někoho vytvořit programovací jazyk
na jiném lidském jazyce než na angličtině? Co třeba latina, esperanto,
interlingva či lojban?
Angličtina pochopitelně vede díky mocenské a ekonomické situaci po 2.
světové válce (která umožnila rozvoj počítačů právě v USA). Ale
angličtina je snad jediný (živý a přirozený) indoevropský jazyk, který
nepotřebuje diakritiku (nebo unicode). Či se mýlím?
Vždyť podle počtu mluvčích by se mělo programovat v čínštině! A mělo by
to své výhody - tolik jednoznakových identifikátorů a klíčových slov
pohromadě jste ještě neviděli ;-D
No nic, to jsem trochu ulítl od thematu v této noční době.
Pokud by se našlo víc lidí, kteří by si přáli identifikátory
s diakritikou, popřípadě v jiných zemích, co myslíte, mohli bychom
prosadit nějaký PEP (Python Enhancement Proposal = Příslib rozšíření
Pythonu)?
Jen na okraj - i pouhý mrkvo$oftí VisualBasic 5.0 už uměl identifikátory
s diakritikou (stýská se mi po nich) - nebuďme tedy pozadu ;-)
Pavel Řezníček
Další informace o konferenci Python