Zablude programera o imenima

Prije dvije sedmice, prijevod “Pogrešne predstave programera o vremenu“, koji je strukturom i stilom zasnovan na ovom klasičnom tekstu Patrika Mekenzija, objavljenom prije dvije godine. Budući da je bilješka o vremenu naišla na izuzetno blagonaklon kod publike, očito ima smisla prevesti originalni članak o imenima i prezimenima.

John Graham-Cumming danas požalio na svom blogu da kompjuterski sistem sa kojim je radio nije prihvatio njegovo prezime zbog nevažećih znakova. Naravno, nema nevažećih znakova, jer bilo koji način na koji se osoba predstavlja je - po definiciji - odgovarajući identifikator. Džon je izrazio veliku frustraciju zbog situacije, i na to ima puno pravo, jer ime je suština naše individualnosti, skoro po definiciji.

Živio sam u Japanu nekoliko godina, programirajući profesionalno, i razbio mnoge sisteme samo samim pozivom. (Većina ljudi me zove Patrick McKenzie, ali ja prihvatam bilo koje od šest "punih" imena kao tačna, iako mnogi kompjuterski sistemi ne prihvataju nijedno od njih.) Isto tako, radio sam za velike korporacije koje posluju na globalnom nivou i, u teoriji, dizajnirale su svoje sisteme za svako moguće ime. dakle, Nisam video ni jedan kompjuterski sistem koji ispravno rukuje imenima, a sumnjam da takav sistem uopšte postoji bilo gde.

Dakle, za dobro svih, sastavio sam listu pretpostavki koje će vaš sistem vjerovatno napraviti o imenima ljudi. Sve ove pretpostavke su pogrešne. Pokušajte barem smanjiti listu sljedeći put kada dizajnirate sistem.

1. Svaka osoba ima jedno kanonsko puno ime.
2. Svaka osoba ima jedno puno ime koje koristi.
3. U datom trenutku, svaka osoba ima jedno kanonsko puno ime.
4. U određenom trenutku, svaka osoba ima jedno puno ime koje koristi.
5. Svaka osoba ima tačno N imena, bez obzira na vrijednost N.
6. Imena se uklapaju u određeni broj znakova.
7. Imena se ne mijenjaju.
8. Imena se mijenjaju, ali samo u određenim ograničenim slučajevima.
9. Imena su napisana u ASCII.
10. Imena se pišu u jednom kodiranju.
11. Sva imena odgovaraju Unicode znakovima.
12. Imena razlikuju velika i mala slova.
13. Imena ne razlikuju velika i mala slova.
14. Ponekad u imenima postoje prefiksi ili sufiksi, ali ih možete bezbedno zanemariti.
15. Imena ne sadrže brojeve.
16. Imena se ne mogu pisati CIJELIM VELIKIM slovima.
17. Imena se ne mogu u potpunosti pisati malim slovima.
18. Postoji red u imenima. Odabir jedne od šema redoslijeda zapisa automatski će rezultirati dosljednim redoslijedom među svim sistemima ako svi koriste istu shemu naručivanja.
19. Ime i prezime se nužno razlikuju.
20. Ljudi imaju prezime ili nešto slično što je zajedničko rođacima.
21. Ime osobe je jedinstveno.
22. Ime osobe gotovo jedinstveno.
23. Dobro, dobro, ali imena su dovoljno rijetka da ne postoji milion ljudi sa istim imenom i prezimenom.
24. Moj sistem se nikada neće baviti imenima iz Kine.
25. Ili Japan.
26. Ili Koreja.
27. Ili Irska, Velika Britanija, SAD, Španija, Meksiko, Brazil, Peru, Švedska, Bocvana, Južna Afrika, Trinidad, Haiti, Francuska, Klingonsko carstvo - svi oni koriste "čudne" šeme imenovanja.
28. Klingonsko carstvo je bila šala, zar ne?
29. Prokleti kulturni relativizam! Muškarci unutra moje društvo, barem imaju istu ideju o općeprihvaćenom standardu za imena.
30. Postoji algoritam koji konvertuje imena na ovaj ili onaj način bez gubitka. (Da, da, možete to učiniti, ako je izlaz algoritma isti kao i ulaz, uzmite sebi medalju).
31. Sa sigurnošću mogu pretpostaviti da ovaj rečnik opscenih reči ne sadrži prezimena.
32. Ljudima se daju imena pri rođenju.
33. OK, možda ne na rođenju, ali prilično brzo nakon toga.
34. Dobro, dobro, u roku od godinu dana.
35. Pet godina?
36. Šališ se, zar ne?
37. Dva različita sistema koja navode ime iste osobe će koristiti isto ime za tu osobu.
38. Dva različita operatera za unos podataka, ako im se da ime osobe, sigurno će unijeti isti skup znakova ako je sistem dobro dizajniran.
39. Ljudi čija imena razbijaju moj sistem su čudni stranci. Trebali bi imati normalna, prihvatljiva imena, poput 田中太郎.
40. Ljudi imaju imena.

Lista nipošto nije konačna. Ako želite primjere pravih imena koja opovrgavaju bilo koju od ovih tačaka, rado ću vam ih dati. Slobodno dodajte još tačaka za ovu listu zabluda u komentarima i pošaljite ljudima link do ove liste sljedeći put kada im padne na pamet briljantna ideja da naprave bazu podataka sa stupcima ime_imena i prezimena.

izvor: www.habr.com

Dodajte komentar