Kesalahpahaman Pemrogram Tentang Nama

Dua minggu lalu, terjemahan “Kesalahpahaman programmer tentang waktu", yang struktur dan gayanya didasarkan pada teks klasik karya Patrick Mackenzie, yang diterbitkan dua tahun lalu. Karena catatan tentang waktu itu diterima dengan sangat baik oleh para penonton, jelas masuk akal untuk menerjemahkan artikel asli tentang nama dan nama keluarga.

John Graham-Cumming hari ini mengeluh di blognya bahwa sistem komputer tempat dia bekerja tidak menerima nama belakangnya karena karakter yang tidak valid. Tentu saja, tidak ada karakter yang tidak valid, karena cara apa pun seseorang mewakili dirinya - menurut definisi - merupakan pengenal yang sesuai. John mengungkapkan rasa frustrasinya yang besar terhadap situasi ini, dan dia berhak melakukannya, karena itu nama adalah inti dari individualitas kita, hampir menurut definisi.

Saya tinggal di Jepang selama beberapa tahun, membuat pemrograman secara profesional, dan merusak banyak sistem hanya dengan menelepon diri saya sendiri. (Kebanyakan orang memanggil saya Patrick McKenzie, namun saya menerima salah satu dari enam nama "lengkap" sebagai nama yang benar, meskipun banyak sistem komputer tidak menerima satupun dari nama tersebut.) Demikian pula, saya pernah bekerja untuk Perusahaan Besar yang menjalankan bisnis dalam skala global dan, secara teori, telah merancang sistem mereka untuk setiap nama yang memungkinkan. Jadi, Saya belum melihat satu pun sistem komputer yang menangani nama dengan benar, dan saya ragu sistem seperti itu ada di mana pun.

Jadi, demi kepentingan semua orang, saya telah menyusun daftar asumsi yang mungkin dibuat sistem Anda tentang nama orang. Semua asumsi ini salah. Cobalah untuk setidaknya mengurangi daftarnya saat berikutnya Anda merancang sebuah sistem.

1. Setiap orang memiliki satu nama lengkap kanonik.
2. Setiap orang mempunyai satu nama lengkap yang mereka gunakan.
3. Pada waktu tertentu, setiap orang mempunyai satu nama lengkap kanonik.
4. Pada waktu tertentu, setiap orang mempunyai satu nama lengkap yang digunakannya.
5. Setiap orang mempunyai tepat N nama, berapapun nilai Nnya.
6. Nama sesuai dengan sejumlah karakter tertentu.
7. Nama tidak berubah.
8. Perubahan nama, namun hanya dalam keadaan tertentu saja.
9. Nama ditulis dalam ASCII.
10. Nama ditulis dalam satu pengkodean.
11. Semua nama sesuai dengan karakter Unicode.
12. Nama peka huruf besar-kecil.
13. Nama tidak peka huruf besar-kecil.
14. Terkadang ada awalan atau akhiran dalam nama, tetapi Anda dapat mengabaikannya dengan aman.
15. Nama tidak mengandung angka.
16. Nama tidak boleh ditulis dengan huruf kapital SELURUH.
17. Nama tidak boleh ditulis seluruhnya dengan huruf kecil.
18. Ada urutan dalam nama. Memilih salah satu skema pengurutan rekaman akan secara otomatis menghasilkan urutan yang konsisten di antara semua sistem jika semuanya menggunakan skema pengurutan yang sama.
19. Nama depan dan belakang tentu berbeda.
20. Orang mempunyai nama keluarga atau sejenisnya yang umum dimiliki kerabatnya.
21. Nama seseorang itu unik.
22. Nama orang hampir unik.
23. Oke oke, tapi nama cukup langka sehingga tidak ada satu juta orang dengan nama depan dan belakang yang sama.
24. Sistem saya tidak akan pernah menangani nama-nama dari Tiongkok.
25. Atau Jepang.
26. Atau Korea.
27. Atau Irlandia, Inggris Raya, AS, Spanyol, Meksiko, Brasil, Peru, Swedia, Botswana, Afrika Selatan, Trinidad, Haiti, Prancis, Kerajaan Klingon - semuanya menggunakan skema penamaan yang "aneh".
28. Kerajaan Klingon hanya lelucon, bukan?
29. Relativisme budaya sialan! Laki-laki masuk masyarakat saya, setidaknya memiliki gagasan yang sama tentang standar nama yang diterima secara umum.
30. Ada algoritma yang mengubah nama dengan satu atau lain cara tanpa kehilangan. (Ya, ya, Anda bisa melakukan ini, jika keluaran algoritmanya sama dengan masukannya, ambil sendiri medalinya).
31. Saya yakin dapat berasumsi bahwa kamus kata-kata cabul ini tidak memuat nama keluarga.
32. Orang diberi nama saat lahir.
33. Oke, mungkin bukan saat lahir, tapi segera setelahnya.
34. Oke, oke, dalam waktu sekitar satu tahun.
35. Lima tahun?
36. Anda bercanda, kan?
37. Dua sistem berbeda yang mencantumkan nama orang yang sama akan menggunakan nama yang sama untuk orang tersebut.
38. Dua operator entri data yang berbeda, jika diberi nama seseorang, pasti akan memasukkan rangkaian karakter yang sama jika sistemnya dirancang dengan baik.
39. Orang yang namanya merusak sistem saya adalah orang asing yang aneh. Mereka harus memiliki nama yang normal dan dapat diterima, seperti 田中太郎.
40. Orang punya nama.

Daftar ini tidak lengkap. Jika Anda menginginkan contoh nama asli yang membantah poin-poin ini, saya akan dengan senang hati memberikannya. Jangan ragu untuk menambahkan lebih banyak poin-poin penting untuk daftar kesalahpahaman ini di komentar, dan kirimkan tautan ke daftar ini kepada orang-orang saat mereka mendapatkan ide cemerlang untuk membuat database dengan kolom nama_depan dan nama_belakang.

Sumber: www.habr.com

Tambah komentar