- Artikel tentang pentingnya kompatibilitas mundur dalam bahasa pemrograman Go, dengan fokus pada fitur baru di Go 1.21 dan masa depan Go 2
- Go 1.21 mencakup fitur-fitur baru untuk meningkatkan kompatibilitas, dengan tujuan menjaga Go tetap stabil dan dapat diprediksi, sehingga pengembang bisa lebih fokus pada pekerjaan mereka daripada perubahan bahasa
- Tim Go telah berfokus pada kompatibilitas selama lebih dari 10 tahun, dengan niat yang jelas bahwa program yang ditulis sesuai spesifikasi Go 1 akan terus dapat dikompilasi dan dijalankan dengan benar tanpa perubahan selama masa hidup spesifikasi tersebut
- Dijelaskan dua pendekatan utama untuk menjaga kompatibilitas: pemeriksaan API dan pengujian. Pemeriksaan API memastikan API yang ada tidak dihapus atau diubah dengan cara yang merusak kode lama. Pengujian mencakup menjalankan pengujian yang sudah ada terhadap versi pengembangan dari rilis Go berikutnya
- Diberikan contoh masalah kompatibilitas halus yang ditemukan lewat pengujian Go di internal Google, seperti literal struct dan field baru, serta presisi waktu
- Masalah kompatibilitas diklasifikasikan ke dalam tiga kategori: perubahan output, perubahan input, dan perubahan protokol
- Go 1.21 meningkatkan kompatibilitas mundur dengan memperluas dan memformalkan penggunaan GODEBUG. Pengaturan GODEBUG dipertahankan setidaknya selama dua tahun dan disetel agar sesuai dengan versi Go yang tercantum di file go.mod paket utama
- Artikel ditutup dengan pembaruan tentang Go 2, yang menyatakan bahwa tidak akan ada Go 2 yang merusak program Go 1. Sebagai gantinya, tim Go akan memprioritaskan kompatibilitas, dan meyakini bahwa ini adalah keputusan desain terpenting yang mereka ambil untuk Go 1
1 komentar
Opini Hacker News