Tak vidím, že (nepřekvapivě) problematické datové struktury nejsou nijak závislé na jazyku.
03 CISLO_DOMU; SIZE IS 3 DIGITS.
Něco takového má/měla naše spisová služba s fatálními následky:
číslo domu pouze třímístné? Narazili jsme na adresu s 5 místným číslem domu.
číslo domu pouze číslice? Někde se celkem běžně používají čísla orientační a pak adresa ulice Tábor 33c je zcela legitimní, leč nezpracovatelná.
V obou případech v adrese chybí číslo domu a tím je zásilka takřka nedoručitelná jen proto, že programátor nemá dost bujnou fantazii a není dost ostražitý.
Asi tak nějak, strávil jsem dětství v cca 3k městě a domě se 4 místným číslem domu.
Tady ale taktéž záleží na tom, jak je toto zpracováno ve vnějším API/GUI. To, že se mění struktury je asi přeci jen něco, co se dá očekávat v některých případech, ale pokud uživatel zapíše „12345“, do databáze se uloží „123“ a všechno je OK, tak je to o něčem jiném, než když ona hodna nejde zapsat, nebo po potvrzení formuláře vyskočí chyba. Protože to aspoň upozorní na problém, který by byl jinak časovanou bombou. (To, že uživatelé hodně chyb ignorují, částečně protože jsou pro ně kryptické, je zase na jinou diskuzi...)
To byl jen příklad na způsob zápisu datové struktury, ale máte samozřejmě plnou pravdu, že by to v praxi velmi rychle skončilo špatně, a to už i u relativně malého městysu. Popravdě ani nevím, jestli je číslo domu nějak omezené, ale možná ne, protože by se nemělo znovu používat, takže to může růst teoreticky kamkoli.
Ono tohle končí špatně dnes a denně, stačí, když musíte evidovat trvalé bydliště cizinců - třeba indická adresa je leckdy jako odstavec knihy. Bývalá kolegyně říkala, že je chodícím testem informačních systémů - místo narození: Staré Město pod Králickým Sněžníkem. A teď se ukažte, kdo má tuto položku dostatečně dimenzovanou.
Tohle se dá upravit (proto mají pořád programátoři v COBOLu o práci postaráno), ale kvůli dlouhému životu aplikací leckde možná číhá reinkarnace problému Y2K - tam, kde problém vyřešili konstrukcí:
IF YEAR > 50 MOVE 19 TO CENTURY
Jeden z pěkných seznamů problémů s adresami:
https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/
Ad Indicka adresa,
5th Floor, "B" Block, Divyasree Omega,
Hitech City Road, Kondapur,
Hyderabad-500081. Andhra Pradesh, India.
nejzabavnejsi je zkusit to zadat do zadosti o indicke e-visum (napriklad jako firmu, kterou pracovne navstevujete). Mission impossible, tak sem sem tam vynechaval blok mezi carkami a doufal, v chapavost indickeho urednika.