Salah Tanggapan Pengaturcara Tentang Nama

Dua minggu lalu, terjemahan "Salah tanggapan pengaturcara tentang masa", yang berdasarkan struktur dan gaya pada teks klasik ini oleh Patrick Mackenzie, diterbitkan dua tahun lalu. Memandangkan nota tentang masa itu diterima dengan sangat baik oleh penonton, jelas masuk akal untuk menterjemah artikel asal tentang nama dan nama keluarga.

John Graham-Cumming hari ini merungut di blognya bahawa sistem komputer yang dia bekerjasama tidak menerima nama belakangnya kerana aksara yang tidak sah. Sudah tentu, tiada aksara yang tidak sah, kerana apa-apa cara seseorang mewakili dirinya adalah - mengikut definisi - pengecam yang sesuai. John menyatakan kekecewaan yang besar tentang keadaan itu, dan dia mempunyai hak untuk, kerana nama adalah intipati keperibadian kita, hampir mengikut definisi.

Saya tinggal di Jepun selama beberapa tahun, pengaturcaraan secara profesional, dan memecahkan banyak sistem hanya dengan memanggil diri saya sendiri. (Kebanyakan orang memanggil saya Patrick McKenzie, tetapi saya menerima mana-mana daripada enam nama "penuh" sebagai betul, walaupun banyak sistem komputer tidak menerima mana-mana daripada mereka.) Begitu juga, saya telah bekerja untuk Syarikat Besar yang menjalankan perniagaan pada skala global dan, secara teori, telah mereka sistem mereka untuk setiap nama yang mungkin. Jadi, Saya tidak pernah melihat satu sistem komputer yang mengendalikan nama dengan betul, dan saya ragu bahawa sistem sedemikian wujud di mana-mana sahaja.

Jadi, demi semua orang, saya telah menyusun senarai andaian yang mungkin dibuat oleh sistem anda tentang nama orang. Semua andaian ini adalah salah. Cuba sekurang-kurangnya kurangkan senarai kali seterusnya anda mereka bentuk sistem.

1. Setiap orang mempunyai satu nama penuh kanonik.
2. Setiap orang mempunyai satu nama penuh yang mereka gunakan.
3. Pada masa tertentu, setiap orang mempunyai satu nama penuh kanonik.
4. Pada masa tertentu, setiap orang mempunyai satu nama penuh yang digunakannya.
5. Setiap orang mempunyai N nama tepat, tanpa mengira nilai N.
6. Nama sesuai dengan bilangan aksara tertentu.
7. Nama tidak berubah.
8. Nama berubah, tetapi hanya dalam kes terhad tertentu.
9. Nama ditulis dalam ASCII.
10. Nama ditulis dalam satu pengekodan.
11. Semua nama sepadan dengan aksara Unicode.
12. Nama adalah sensitif huruf besar.
13. Nama tidak sensitif huruf besar.
14. Kadangkala terdapat awalan atau akhiran dalam nama, tetapi anda boleh mengabaikannya dengan selamat.
15. Nama tidak mengandungi nombor.
16. Nama tidak boleh ditulis dengan HURUF BESAR KESELURUHAN.
17. Nama tidak boleh ditulis sepenuhnya dalam huruf kecil.
18. Terdapat susunan dalam nama. Memilih salah satu daripada skim pesanan rekod secara automatik akan menghasilkan susunan yang konsisten antara semua sistem jika mereka semua menggunakan skema pesanan yang sama.
19. Nama pertama dan nama keluarga semestinya berbeza.
20. Orang mempunyai nama keluarga atau sesuatu yang serupa yang biasa kepada saudara-mara.
21. Nama seseorang itu unik.
22. Nama orang hampir unik.
23. Okay, okay, tetapi nama cukup jarang sehinggakan tidak ada sejuta orang dengan nama pertama dan terakhir yang sama.
24. Sistem saya tidak akan pernah berurusan dengan nama dari China.
25. Atau Jepun.
26. Atau Korea.
27. Atau Ireland, Great Britain, Amerika Syarikat, Sepanyol, Mexico, Brazil, Peru, Sweden, Botswana, Afrika Selatan, Trinidad, Haiti, Perancis, Empayar Klingon - semuanya menggunakan skema penamaan "pelik".
28. Empayar Klingon adalah jenaka, bukan?
29. Relativisme budaya sialan! Lelaki masuk masyarakat saya, sekurang-kurangnya mempunyai idea yang sama tentang standard yang diterima umum untuk nama.
30. Terdapat algoritma yang menukar nama satu cara atau yang lain tanpa kehilangan. (Ya, ya, anda boleh melakukan ini, jika output algoritma adalah sama dengan input, ambil sendiri pingat).
31. Saya dengan yakin boleh menganggap bahawa kamus perkataan lucah ini tidak mengandungi nama keluarga.
32. Orang diberi nama semasa lahir.
33. OK, mungkin bukan semasa lahir, tetapi tidak lama kemudian.
34. Okay, okay, dalam masa setahun atau lebih.
35. Lima tahun?
36. Awak bergurau kan?
37. Dua sistem berbeza yang menyenaraikan nama orang yang sama akan menggunakan nama yang sama untuk orang itu.
38. Dua operator kemasukan data yang berbeza, jika diberi nama seseorang, pasti akan memasukkan set aksara yang sama jika sistem direka dengan baik.
39. Orang yang namanya memecahkan sistem saya adalah orang yang tidak dikenali. Mereka sepatutnya mempunyai nama biasa yang boleh diterima, seperti η”°δΈ­ε€ͺιƒŽ.
40. Orang ada nama.

Senarai itu sama sekali tidak lengkap. Jika anda mahukan contoh nama sebenar yang menyangkal mana-mana perkara ini, saya berbesar hati untuk memberikannya. Jangan ragu untuk menambah lebih banyak titik tumpu untuk senarai salah tanggapan ini dalam ulasan, dan hantarkan pautan ke senarai ini kepada orang lain apabila mereka menghasilkan idea bernas untuk membuat pangkalan data dengan lajur first_name dan last_name.

Sumber: www.habr.com

Tambah komen