Saya pikir dunia sekarang memprogram dalam bahasa pemrograman berbasis bahasa Inggris bukan hanya karena keadaan historis / ekonomi, tetapi karena morfologi Inggris khususnya memiliki beberapa sifat yang paling sesuai dengan pemikiran algoritmik. Tetapi bagaimanapun juga, akan menarik untuk mendengar pendapat Anda tentang hal ini, terutama jika Anda multibahasa.
Saya telah melihat beberapa penyebutan bahasa berbasis Jerman (lihat Plankalkul misalnya, sebenarnya bahasa pemrograman pertama yang kita ketahui sangat sedikit, terima kasih kepada WW2), juga rasa Algol yang berbasis di Rusia yang ada pada tahun 80-an di Setidaknya di atas kertas, tidak yakin apakah itu pernah ada dalam biner atau tidak. Keduanya tampak agak lamban karena ada lebih banyak kata yang disingkat dan singkatan aneh daripada kata-kata penuh seperti dalam bahasa berbasis EN. Jadi, jika Anda mengetahui PL berbasis bahasa nasional lainnya, bahkan yang sepenuhnya kuno dan tidak relevan saat ini, murni teoretis atau apa pun, akan menarik untuk melihatnya.
Dan kembali ke pertanyaan utama: jadi apa, jika ada, yang membuat bahasa Shakespeare begitu baik untuk pemrograman?
(Sebenarnya ada daftar bahasa pemrograman non-Inggris di Wikipedia (tentu saja, di mana lagi?), Tetapi akan menarik untuk mendengar pendapat penutur asli bahasa-bahasa tersebut tentang bagaimana bahasa pemrograman "nasional" yang diberikan benar-benar terasa Suka.)
sumber
Jawaban:
Penafian: Bahasa ibu saya adalah Jerman.
Saya rasa tidak ada alasan mengapa bahasa Inggris sebagai bahasa untuk mengambil kata kunci akan lebih baik daripada bahasa alami lainnya. Saya pikir itu adalah satu-satunya bahasa yang sangat penting dalam TI, tetapi bukan karena sifat linguistik, tetapi karena sebagian besar orang teknologi berbicara sedikit banyak, itu adalah bahasa asli dari beberapa orang penting di bidang ini, sebagian besar istilah terkait teknologi sudah bahasa Inggris, dll.
Tetapi karena kita berbicara tentang bahasa pemrograman, bukan tentang dokumentasi / API / nama / dll, saya harus keberatan: Bahasa pemrograman tidak didasarkan pada bahasa Inggris - atau pada bahasa alami lainnya, dalam hal ini. Bahasa pemrograman adalah bahasa formal. Mereka memang menggunakan, dengan tingkat yang berbeda-beda, beberapa kata dari (biasanya) bahasa Inggris. Beberapa bahkan mencoba meniru tata bahasanya - tetapi sama sekali gagal membaca seperti bahasa Inggris. Untuk menambah penghinaan pada cedera, mereka hanya mengaitkan satu (dalam beberapa kasus yang jarang) makna dengan setiap kata yang mereka pinjam. Seringkali, makna ini sangat jargon-y, khusus, atau didasarkan pada analogi yang dipertanyakan. Oleh karena itu, mengetahui banyak sekali makna bahasa alami dari sebuah kata yang dipinjam oleh bahasa pemrograman tidak benar-benar membantu memahami konsep pemrograman di balik kata kunci. Contoh dari atas kepala saya:
array
,type
,goto
,class
,void
. (Fun fakta bahwa bermunculan untuk keberatan karena aku membaca kembali pertanyaan: Semua ini, kecualigoto
, memiliki terjemahan Jerman yang paling banyak satu karakter lagi:Feld
,Typ
,Klasse
,Leere
. Mereka semua suara aneh bagi saya, tapi itu mungkin masalah kebiasaan .)sumber
Bahasa Inggris adalah bahasa pemrograman bahasa lingua franca .
Dari artikel yang sama:
sumber
Bahasa Inggrisnya disukai karena:
Kemudahan tipe. Anda dapat menggunakan keyboard standar. Saya tahu ini terdengar seperti "llama dung", tetapi apakah Anda sudah mencoba mengetik dalam bahasa Cina? Ada 1000-an karakter dan karena Cina tidak memiliki teknik pembangunan "karakter" yang memadai agar sesuai dengan konsep keyboard, itu tidak akan mudah dipelajari untuk audiens global.
Kata-kata bahasa Inggris yang diperpendek adalah simbol yang dapat dikenali. Seseorang tidak harus mempelajari seluruh bahasa Inggris untuk dikodekan, sehingga orang-orang di luar bahasa dapat belajar dengan cepat.
Majelis menggunakan kata-kata kecil yang tidak memiliki struktur kalimat. Kemudian muncul bahasa, seperti COBOL dan FORTRAN, yang berusaha mengakomodasi struktur kalimat bahasa Inggris sebanyak mungkin. Bahasa yang lebih baru menerapkan lebih banyak ketergantungan pada simbol aljabar universal, karena mereka memiliki prediktabilitas yang lebih baik. (Dalam COBOL Tambah X Ke Y, Kurangi Y Dari X, Hitung Y = X + A; Hitung membuat pernyataan sebelumnya tidak perlu dan mengurangi kompleksitas parsing bahasa). Tidak perlu banyak lagi bagi saya untuk menganggap bahasa seperti C ++ lebih simbolis daripada berbasis bahasa. Ada sedikit kembalinya pemrograman berbasis kata dengan C #, tetapi sebagian besar telah dipanggang untuk mendukung pola pemrograman populer.
Kesimpulan:
Pada akhirnya, periferal terbatas pada bahasa berbasis karakter (seperti Bahasa Inggris). Juga, bahasa barat memiliki dukungan yang lebih baik untuk konsep matematika (seperti konsep 0, antara lain; Cina meminjam angka sebagai pengganti representasi nilai numerik mereka sendiri, untuk menyampaikan angka lebih baik, karena lebih pendek untuk menulis (rata-rata)). Selain nilai numerik, saya akan melihat bahasa berbasis simbol (Cina) lebih cocok untuk morfologi bahasa pemrograman daripada bahasa Inggris, karena sebagian besar bahasa modern sudah menggunakan simbol, dan itu akan setara secara universal untuk belajar. Namun, kita harus memaksakan struktur mirip C ++, memiliki blok simbol tidak akan mudah dibaca untuk kebanyakan orang di dunia.
sumber
Satu-satunya alasan bahwa bahasa Inggris digunakan secara luas dalam komputasi adalah karena bahasa tersebut merupakan bahasa yang tersebar luas sekarang.
Jika komputer ditemukan 2000 tahun yang lalu, mereka akan menggunakan bahasa Yunani. Jika mereka ditemukan 200 tahun yang lalu mereka akan menggunakan bahasa Prancis. Jika mereka akan ditemukan dalam 200 tahun mereka mungkin akan menggunakan ...
sumber
Berikut adalah beberapa manfaat untuk bahasa pemrograman hipotetis akan jika hanya diasumsikan alfabet Inggris - Latin.
Semua hal ini adalah masalah yang masih belum diselesaikan dengan benar di semua perangkat. Misalnya judul Lagu dengan tanda diakritik tidak muncul dengan benar pada sejumlah pemutar musik
sumber
étudiant
. Dengan unicode, huruf pertama dapat dinyatakan sebagaiU+00E9 LATIN SMALL LETTER E WITH ACUTE
atau dapate
diikuti olehU+0301 COMBINING ACUTE ACCENT
. Jika Anda adalah penulis kompiler untuk salah satu bahasa ini, apakah Anda ingin mendukung penamaan variabel seperti ini? Bagaimana tepatnya Anda memperlakukan dua variabel dalam lingkup yang sama dengan nama\u00e9tudiant
dane\u0301tudiant
?Saya tidak begitu yakin bahwa bahasa pemrograman itu sendiri mendapat manfaat dari didasarkan pada bahasa Inggris. Dalam penjelasan:
Jadi, jika bahasa Inggris bermanfaat bagi bahasa pemrograman, itu akan membantu menyebabkan lebih banyak orang menggunakan bahasa pemrograman. Dalam hal ini, berikut adalah beberapa pemikiran:
Merangkum pemikiran-pemikiran ini, saya rasa bahasa Inggris tidak benar-benar membantu bahasa pemrograman dengan cara signifikan apa pun yang ditawarkan oleh sebagian besar bahasa lain - selain itu banyak orang yang berbicara.
sumber
Menurut saya, bahasa Inggris hanya memiliki kosakata teknis dan matematika yang lebih kaya daripada banyak bahasa lain (tetapi tidak semua). Bahasa yang tidak memiliki kosakata seperti itu menggunakan kata-kata pinjaman dalam bahasa Inggris untuk menyelesaikan pekerjaan. Ini saja merupakan alasan kuat untuk mengarahkan bahasa pemrograman ke bahasa Inggris.
Mengenai bahasa-bahasa yang memiliki kosa kata yang cukup kaya untuk menggambarkan semua yang perlu kita gambarkan tanpa menggunakan kata-kata pinjaman dalam bahasa Inggris secara terus-menerus, tradisi bahasa Inggris sebagai lingua franca (bahasa umum) untuk ilmu pengetahuan itu sendiri memang menarik, tetapi alfabet kita memberi kita kaki kecil lainnya:
sumber
Untuk beberapa kesenangan membaca tentang konteks bahasa dan bagaimana kita akhirnya melakukan hal-hal groking:
Hal-hal yang Dipikirkan oleh Steven Pinker
Ingat, kita berbicara tentang konstruk bahasa, bukan bagaimana kita mengkomunikasikan informasi (bukan satu sama), saya telah bekerja dengan kode di mana bahasa utama untuk variabel semuanya dalam bahasa Jerman (kode itu tidak kurang mudah untuk dipahami ). Bahasa Inggris pada dasarnya tidak memiliki apa pun yang lebih cocok untuk pemrograman, jika kita langsung tidak mengerti bagaimana bahasa kita disusun, mungkin lebih buruk tidak lebih baik, dan ini bisa jujur karena berbagai alasan:
Bertanya mengapa bahasa pemrograman menggunakan "Bahasa Inggris" seperti bertanya mengapa tabel periodik masih memiliki huruf 'W' yang mengidentifikasi Tungsten, kebanyakan orang tidak dapat memberi tahu Anda mengapa kecuali mereka tahu sejarahnya. Dan jika Anda ingin sejarah bahasa pemrograman kita harus kembali ke punch card, instruksi byte, dan assembly.
Assembly tidak memiliki konstruksi bahasa Inggris yang utama, tetapi sedekat mungkin Anda bisa mendapatkan kode mesin tanpa membenci diri sendiri. Selanjutnya, semua elemen struktural bahasa tingkat yang lebih tinggi dapat dan secara teratur dilaksanakan oleh kita yang cukup gila untuk menikmatinya. LD, MV, ST, BRA, dan set instruksi lainnya tidak seperti bahasa Inggris, tapi saya bisa membacanya dengan sempurna dan mendapatkan makna penuh.
Kami menetapkan arti yang sama dari LD atau MV dalam perakitan untuk konstruksi tingkat yang lebih tinggi, saya tidak perlu tahu apa arti variabel, dan dalam banyak kasus tidak akan apakah itu dalam bahasa Inggris karena # 2 dalam daftar saya. Set pengidentifikasi seperti int, str, enum, dan semacamnya adalah cara untuk mengatakan apa yang Anda kerjakan, tidak lebih. Jika alih-alih int pengenalnya adalah burung camar, kita semua akan tahu apa yang dimaksud burung camar dalam konteks pengkodean, bukan karena itu bahasa Inggris, tetapi itulah yang dicakup pengidentifikasi.
TL; DR: Bahasa pemrograman, seperti bahasa apa pun perlu dilatih untuk dipahami. Alasan mengapa perintah mereka dalam bahasa Inggris dan bukan Spanyol atau Jerman atau Rusia lebih cenderung esoteris dan historis daripada oleh beberapa konstruk yang diperlukan dari bahasa Inggris menjadi lebih atau kurang cocok untuk pengidentifikasi dalam konstruksi Bahasa Formal.
sumber