Mga Maling Palagay ng Programmer Tungkol sa Mga Pangalan

Dalawang linggo na ang nakalipas, isang pagsasalin ng β€œMga maling akala ng mga programmer tungkol sa oras", na nakabatay sa istruktura at istilo sa klasikong tekstong ito ni Patrick Mackenzie, na inilathala dalawang taon na ang nakakaraan. Dahil ang tala tungkol sa oras ay lubos na tinanggap ng madla, malinaw na makatuwirang isalin ang orihinal na artikulo tungkol sa mga pangalan at apelyido.

John Graham-Cumming ngayon nagreklamo sa kanyang blog na hindi tinanggap ng computer system na kanyang pinagtatrabahuhan ang kanyang apelyido dahil sa mga hindi wastong character. Siyempre, walang mga hindi wastong character, dahil ang anumang paraan na kinakatawan ng isang tao ang kanyang sarili ay - sa pamamagitan ng kahulugan - isang naaangkop na identifier. Nagpahayag si John ng labis na pagkadismaya tungkol sa sitwasyon, at mayroon siyang lahat ng karapatan, dahil ang pangalan ay ang kakanyahan ng ating pagkatao, halos sa pamamagitan ng kahulugan.

Nanirahan ako sa Japan sa loob ng ilang taon, propesyonal na nagprograma, at sinira ang maraming sistema sa pamamagitan lamang ng pagtawag sa aking sarili. (Karamihan sa mga tao ay tinatawag akong Patrick McKenzie, ngunit tinatanggap ko ang alinman sa anim na "buong" pangalan bilang tama, bagaman maraming mga computer system ang hindi tumatanggap ng alinman sa mga ito.) Gayundin, nagtrabaho ako para sa Mga Malaking Korporasyon na nagnenegosyo sa pandaigdigang saklaw at, sa teorya, ay nagdisenyo ng kanilang mga sistema para sa bawat posibleng pangalan. Kaya, Wala pa akong nakikitang isang computer system na humahawak ng mga pangalan nang tama, at nagdududa ako na may ganoong sistema kahit saan..

Kaya, para sa kapakanan ng lahat, nag-compile ako ng isang listahan ng mga pagpapalagay na malamang na gawin ng iyong system tungkol sa mga pangalan ng mga tao. Ang lahat ng mga pagpapalagay na ito ay mali. Subukang bawasan man lang ang listahan sa susunod na magdisenyo ka ng system.

1. Ang bawat tao ay may isang kanonikal na buong pangalan.
2. Ang bawat tao ay may isang buong pangalan na kanilang ginagamit.
3. Sa isang takdang panahon, ang bawat tao ay may isang kanonikal na buong pangalan.
4. Sa isang takdang panahon, ang bawat tao ay may isang buong pangalan na kanyang ginagamit.
5. Ang bawat tao ay may eksaktong N pangalan, anuman ang halaga ng N.
6. Ang mga pangalan ay umaangkop sa isang tiyak na bilang ng mga character.
7. Hindi nagbabago ang mga pangalan.
8. Nagbabago ang mga pangalan, ngunit sa ilang limitadong kaso lamang.
9. Ang mga pangalan ay nakasulat sa ASCII.
10. Ang mga pangalan ay nakasulat sa isang encoding.
11. Ang lahat ng mga pangalan ay tumutugma sa mga character na Unicode.
12. Ang mga pangalan ay case sensitive.
13. Ang mga pangalan ay hindi case sensitive.
14. Minsan may mga prefix o suffix sa mga pangalan, ngunit maaari mong ligtas na balewalain ang mga ito.
15. Ang mga pangalan ay hindi naglalaman ng mga numero.
16. Ang mga pangalan ay hindi maaaring isulat sa BUONG KAPITAL na titik.
17. Ang mga pangalan ay hindi maaaring isulat nang buo sa maliliit na titik.
18. May kaayusan ang mga pangalan. Ang pagpili ng isa sa mga record ordering scheme ay awtomatikong magreresulta sa isang pare-parehong pagkakasunud-sunod sa lahat ng system kung lahat sila ay gumagamit ng parehong ordering scheme.
19. Ang una at apelyido ay kinakailangang magkaiba.
20. Ang mga tao ay may apelyido o katulad na karaniwan sa mga kamag-anak.
21. Ang pangalan ng isang tao ay natatangi.
22. Pangalan ng tao halos kakaiba.
23. Okay, okay, ngunit ang mga pangalan ay bihirang sapat na walang isang milyong tao na may parehong pangalan at apelyido.
24. Ang aking sistema ay hindi kailanman haharap sa mga pangalan mula sa China.
25. O Japan.
26. O Korea.
27. O Ireland, Great Britain, USA, Spain, Mexico, Brazil, Peru, Sweden, Botswana, South Africa, Trinidad, Haiti, France, ang Klingon Empire - na lahat ay gumagamit ng "kakaibang" mga scheme ng pagpapangalan.
28. Ang Klingon Empire ay isang biro, tama ba?
29. Damn cultural relativism! Mga lalaki sa aking lipunan, kahit papaano ay may parehong ideya ng karaniwang tinatanggap na pamantayan para sa mga pangalan.
30. Mayroong isang algorithm na nagko-convert ng mga pangalan sa isang paraan o sa iba pa nang walang pagkawala. (Oo, oo, magagawa mo ito, kung ang output ng algorithm ay kapareho ng input, kumuha ka ng medalya).
31. Maaari kong kumpiyansa na ipagpalagay na ang diksyunaryong ito ng mga malalaswang salita ay hindi naglalaman ng mga apelyido.
32. Ang mga tao ay binibigyan ng mga pangalan sa kapanganakan.
33. OK, marahil hindi sa kapanganakan, ngunit sa lalong madaling panahon pagkatapos.
34. Okay, okay, sa loob ng isang taon o higit pa.
35. Limang taon?
36. Nagbibiro ka diba?
37. Dalawang magkaibang sistema na naglilista ng parehong pangalan ng tao ay gagamit ng parehong pangalan para sa taong iyon.
38. Dalawang magkaibang data entry operator, kung bibigyan ng pangalan ng isang tao, ay tiyak na papasok sa parehong hanay ng mga character kung ang system ay mahusay na idinisenyo.
39. Ang mga taong ang mga pangalan ay sumisira sa aking sistema ay mga kakaibang estranghero. Dapat silang magkaroon ng normal, katanggap-tanggap na mga pangalan, tulad ng η”°δΈ­ε€ͺιƒŽ.
40. May mga pangalan ang mga tao.

Ang listahan ay hindi nangangahulugang kumpleto. Kung gusto mo ng mga halimbawa ng totoong pangalan na nagpapabulaanan sa alinman sa mga puntong ito, ikalulugod kong ibigay ang mga ito. Huwag mag-atubiling magdagdag ng higit pang mga bullet point para sa listahang ito ng mga maling kuru-kuro sa mga komento, at magpadala sa mga tao ng link sa listahang ito sa susunod na makaisip sila ng napakatalino na ideya na gumawa ng database na may mga column na first_name at last_name.

Pinagmulan: www.habr.com

Magdagdag ng komento