Jabarkan Kelalaian dari Go (bahasa pemrograman)

Go sengaja menghilangkan fitur-fitur tertentu yang umum dalam bahasa lain, termasuk (implementasi) warisan, pemrograman generik, pernyataan, pointer aritmetika, dan konversi tipe implisit.

Dari fitur bahasa ini, penulis menyampaikan keterbukaan untuk pemrograman generik, secara tegas membantah pernyataan dan pointer aritmetika, saat membela pilihan untuk menghilangkan jenis warisan sebagai pemberian yang lebih berguna bahasa, mendorong alih-alih menggunakan antarmuka untuk mencapai dinamis pengiriman dan komposisi untuk menggunakan kembali kode. Komposisi dan delegasi yang pada kenyataannya sebagian besar otomatis oleh struct embedding; menurut peneliti Schmager et al., fitur ini "memiliki banyak kelemahan dari warisan: itu mempengaruhi masyarakat antarmuka dari benda-benda, tidak halus (saya.e, ada metode-tingkat kontrol atas embedding), metode tertanam benda-benda yang tidak dapat disembunyikan, dan itu adalah statis", sehingga "tidak jelas" apakah programmer tidak akan berlebihan untuk sejauh bahwa programmer dalam bahasa lain yang terkenal berlebihan warisan.

Merujuk pada pemrograman generik, beberapa fungsi built-in yang pada kenyataannya jenis-generic, tapi ini diperlakukan sebagai kasus-kasus khusus; Rob Pike panggilan ini kelemahan bahasa yang mungkin di beberapa titik akan berubah. tim Google yang dirancang bahasa dibangun setidaknya satu compiler untuk eksperimental dialek Go secara umum, tapi tidak merilisnya.

Setelah awalnya menghilangkan pengecualian, pengecualian-seperti panic/recover mekanisme akhirnya ditambahkan untuk bahasa, yang mana penulis menyarankan menggunakan untuk memecahkan kesalahan seperti orang-orang yang harus menghentikan seluruh program atau permintaan server, atau sebagai jalan pintas untuk menyebarkan kesalahan tumpukan dalam paket (tetapi tidak seluruh paket-batas; tidak, kesalahan kembali adalah standar API).