Viz predchozi reakce, emaily mohou byt case sensitive. Osobne v tom nevidim zadny problem. Pro vasi informaci, nějaká.doména.cz neni totez co nejaka.domena.cz a take se nad tim nikdo nepodivuje.
No, jestli nevidite, jake problemy by prinesl fakt, ze emaily by mohly byt case sensitive, tak mate fakt omezeny pohled. Dovolil bych si rici, ze naprosto naivni pohled.
Pokud se bojim, ze BFU budou mit problemy s velikosti pismen, proste ve svych strankach a aplikacich pouzivam jen MALA pismena.
Tim zajistim, ze BFU problemy mit nebudou. Je to tak trivialni, ze to pochopi i male dite, nepochopi to jedine par bezvyznamnych stouralu.
Proto je problém především v tom, že některé identifikátory case sensitive nejsou. Kdyby uživatel věděl, že je musí psát všechny přesně (holt mají být jednoznačné), tak není problém. Daleko horší jsou ovšem úchylnosti jako nenápadné nahrazování \ za / v MSIE...
Neřekl bych, že je to buzerace ani že tím mohou vzniknout chyby. Naopak - příspívá to k přehlednějšímu kódu a i k eliminaci chyb.
Pokud mám např. třídu Stetec a chci z ní udělat instanci, nic mi nebrání v tom, abych to napsal jako
Stetec stetec = new Stetec();
Možná přijde vám ten zápis přijde podivný, ale je velice elegantní a přehledný. Nemusím vymýšlet nový název proměnné, protože to odlišuje už velikost písmen.
Není to matoucí - jména tříd např. píšu VŽDY s prvním velkým písmenem, proměnné malými, konstanty jen velkými atd. Nikdy se nespletu, a pokud ano, překladač mě upozorní. A to je přece jedině dobře, že mě upozorní, protože zřejmě je ta chyba hlubší a myslel jsem třeba úplně jinou strukturu než jsem tam napsal. Kdyby to nechal být, bude v programu těžko odhalitelná chyba.
Zeptám se jinak: proč by měly programovací jazyky rozlišovat velikost písmen? Jaký je důvod k tomu, aby programátor napsal jednou promenna a podruhe PROMENNA, popř. náhodně střídal kombinace?
Buď to opravdu bere jako jednu proměnnou, a pak to nemá v hlavě zcela v pořádku, anebo to bral *jinak* - třeba jako konstantu. Pak je chyba při překladu velice vítána.
Jenže kdyby URL neměly být case sensitive, nesměly by být case sensitive ani cesty v souborovém systému a nebo by webové servery musely dělat nějaký překlad jmen, který by na case sensitive souborových systémech nemusel být jednoznačný. To je mnohem složitější než se zkrátka smířit s case sensitive adresami.
Většina slušných jazyků má v psaní velkých a malých písmen pořádek a dokonce je používají ke zpřehlednění programu. Například v Javě začínají metody malým písmenem, jména tříd velkým a pro zbytek jména se používá konvence každéNovéSlovoVelkýmPísmenem. Většina programátorů s tím nemá žádný problém a pokud už někdo vážně ano, vždycky může použít IDE s chytrým doplňováním. Prostě to není problém. (A mimochodem jsme silně offtopic.)
Ano, nechť pro programovací jazyky platí, že jsou case sensitive, ale ať pro uri toto neplatí.
Stejně jako někomu může vadit použití guid v uri, pak mě, jako uživateli, by určitě vadilo rozlišování malých a velkých písmen. Právě třeba statistiky na navrcholu, proč si musím pamatovat, že mají velké S?
Nejsem si jistý, neboť na unix systémech nepracuji, ale předpokládám, že email adresy na nich taktéž nerozlišují velikost písmen a pokud ano, tak už nepřišlo asi hodně emailů.
Tímto se nechci zastávat atlasu, a není správné, pokud zasahuje do formátu posílané zprávy a mění v ní velikost písmen. Ale určitě si dokáži představit, že budu někomu do telefonu diktovat url adresu a on ji tak bude psat: navrcholu.cz/statistikyvelkes/16 a nebo mi bude telefonát trvat o něco déle než mu vysvětlím, jak mají být poskládána písmenka s jejich velikostí.
Jestli jsem s tímto názorem osamocen, pak se omlouvám za příspěvek.
Díky
-- J.
A jakeho logickeho duvodu by mely jazyky rozlisovat velikost pismem, resp. na ni dbat? Jaky to ma duvod, krome buzerace programatora a vzniku zbytecnych chyb?
Jenže vysvětlujte to všem uživatelům (i těch nenormálních, velice rozšířených, OS). Právěže pro většinu uživatelů zůstává ta konzerva zavřena a vidí pouze obal a občas mohou být pěkně zmateni.
Zkuste jim vysvětlit (nebo nechat přečíst celé RFC, aby se dozvěděli), že část adresy můžou napsat jakkoli, ale další část už je náchylná na velikost písmen a jedná se o souborový systém. (Podobně, že někde mají - musí - napsat www a někde nemusí).
Jistě je přáním každého programátora, aby k jeho aplikaci usedli jen vzdělaní a poučení uživatelé (ta věta by tím ať či nechť mohla klidně začít). :-) Ale to se asi těžko stane, takže teď jde o to, kdo tu konzervu dříve otevře - a jestli to vůbec má smysl.
Když už jsem skončil u toho přirovnání. Pokud jsou programátoři uvnitř, asi nebudou mít tolik prostředků k jejímu otevření. Na druhou stranu, venku je stále větší a větší počet uživatelů, kteří na tu konzervu koukají a ten obal se jim líbí a nemají velkou potřebu zjišťovat, co je uvnitř.
Já zase potkávám tyto uživatele. (A jsem celkem rád, že do té mé konzervy jsou slyšet hlasy od uživatelů zvenku. A je i dost prostředků k tomu, aby ten obal byl přívětivější a poskytoval jim potřebnou funkčnost a oni se nemuseli zabývat tím, co je uvnitř.)
To je ovsem vas programatorsky pohled. Predstavte si, jak hloupy by byl system, kdyz by klasicky dopis nedorazil na nejakou adresu jenom kvuli tomu, ze odesilatel pouzil velke pismena v nazvu mesta. Anebo u emailu. Dokazete si predstavit, ze by existovaly emaily jana@seznam.cz, Jana@seznam.cz, JANA@seznam.cz nebo i domeny Seznam.cz, seznam.cz ci SEZNAM.CZ.
Trvam na to, ze lpeni programovacich jazyku na velikosti pismen, ja fakt zarazejici a naprosto zbytecne.
Programovani jazyky jsou uzitecne, lpeni na rozlisenovani velkych pismem uz ani omylem.
Kdo si ma pamatovat, jak se ktera funkce pise? Klidne muzete psat nazevPrvniFunkce, abyste pak pozdeji se dostali do problemu s NazevPrvniFunkce. Nehlede na to, ze mnohe jazyky maji toto pravidlo samy problem dodrzovat. Nekdy se pouzije KlicoveSlovo, jindy zase klicoveSlovo.
> nechť pro programovací jazyky platí, že jsou case sensitive,
> ale ať pro uri toto neplatí
to mi připomíná matfyzákovu lamentaci "nechť je konzerva otevřena"
Takovéto "nechť" či "ať", aby mělo nějakou váhu, by muselo přijít bratru před dvaceti nebo třiceti lety. Od té doby platí, že cesty v normálních operačních systémech jsou case-sensitivní, tím pádem musejí být case-sensitivní i URI.
Vůbec by mě nepřekvapilo, kdyby programátor, jehož selhání to údajně je, používal stejnou "nechť" logiku. Dost často ji ve velkých firmách potkávám.
Nikde neni zaruceno, ze maily dojdou do deseti sekund, dokonce ani ze vubec dojdou. Jenom to nikdo zatim nenabusil uzivatelum do hlavy.
A ze stejneho soudku je predstava o case insensitive. rfc 821 pise jasne:
..."Note that this is not true of mailbox user names. For some hosts the user name is case sensitive, and SMTP implementations must take case to preserve"....
Takze kdyby seynam.cy chtel schranky SToural@ a stOUral@ tak klidne muze.