Iya! Iya! Iya! Masuk akal untuk melakukan itu. Dan saya telah melakukannya selama bertahun-tahun.
Pengungkapan 1: Bahasa Inggris bukan bahasa ibu saya.
Pengungkapan 2: Pengetahuan saya tentang tata bahasa Inggris jauh lebih baik daripada rata-rata penutur asli.
Pengungkapan 3: Ketika berbicara dengan manusia, saya adalah seorang tata bahasa Nazi yang bersemangat.
Dan sekarang setelah pengungkapan ini tidak memungkinkan, izinkan saya menyatakan bahwa tata bahasa Inggris tidak memiliki tempat dalam kode. Anda lihat, itu sebabnya ini disebut kode dan bukan prosa . Seharusnya memiliki kemiripan dengan bahasa yang dipahami oleh manusia, untuk tujuan keterbacaan, tetapi selain itu, apa yang paling kita butuhkan dari kode bukanlah kualitas prosa; itu adalah kualitas lain, lebih teknis, seperti ketepatan , ketidakjelasan , dan kesederhanaan . Itu sebabnya sintaks C dari if( x != y ) y++;
adalah banyak lebih baik untuk IF X IS NOT EQUAL TO Y THEN ADD 1 TO Y END-IF.
sintaks Cobol. Dugaan keinginan kompiler yang memahami bahasa alami adalah kekeliruan, dan jangan mengambil kata-kata saya untuk itu, lihat apa yang ol'Edsger katakan tentang hal itu:Edsger W. Dijkstra, Tentang kebodohan "pemrograman bahasa alami" .
Kualitas lain yang penting adalah kemampuan pengidentifikasi . Fakta bahwa properti yang dipanggil Color
selalu dapat dibaca melalui metode yang dipanggil getColor()
dan ditulis melalui metode yang disebut setColor()
sangat penting. Pengidentifikasi ini dapat dihitung dari nama properti, sehingga Anda tidak harus mengetahuinya dengan hati. Jika seorang programmer memilih sepasang metode yang disebut getColor()
di satu sisi, tetapi colorize()
di sisi lain, rekan-rekan mereka akan mempertimbangkan sabotase ini. Itulah betapa pentingnya komputabilitas pengidentifikasi.
Juga, alat pemrograman dapat ditulis (dan banyak dari mereka sebenarnya telah ditulis, misalnya, Hibernate ) yang dapat menghitung nama-nama ini. Tanpa komputabilitas nama pengidentifikasi Anda harus menggunakan sintaks tambahan (misalnya dalam Hibernate, anotasi tambahan) untuk menentukan ke setiap alat dengan tepat bagaimana membuat setiap nama pengidentifikasi tunggal, atau tepatnya nama ad hoc yang telah Anda berikan untuk setiap entitas.
Jadi, komputabilitas pengidentifikasi adalah penting, sementara pada saat yang sama tata bahasa Inggris tidak relevan, (karena kita tidak melakukan pemrograman bahasa alami,) jadi untuk dapat menghitung nama kumpulan entitas dengan selalu menambahkan "s" ke nama dari satu contoh masuk akal, apalagi fakta bahwa itu melanggar kebanyakan orang (termasuk saya) kepekaan bahasa Inggris.
Dan apakah kita suka atau tidak, ini adalah tren masa depan. Bahasa asli sebagian besar programmer di planet ini bukan bahasa Inggris lagi, dan trennya akan berlanjut dengan sangat kuat ke arah ini. (Juga, saya bahkan tidak mau bertaruh uang pada saran bahwa bahasa Inggris adalah bahasa asli dari sebagian besar programmer yang bekerja di AS sekarang.) Ini adalah orang-orang yang, sebagian besar, ketika mencoba untuk menghitung nama koleksi dari nama satu contoh "perusahaan", hanya akan menambahkan "s", dan bentuk "perusahaan" bahkan tidak akan terlintas dalam pikiran mereka. Bagi persentase programmer yang hebat dan terus meningkat di dunia, pengetahuan tentang kekhasan bahasa Inggris tidak menambah nilai pada pekerjaan mereka, itu hanya membuatnya sedikit lebih sulit.