Khan Academy - Berjalan dengan 500 ribu baris kode Go
(blog.khanacademy.org)-
Pada 2019, proyek Goliath dimulai untuk memigrasikan dari Python2 ke Go
-
Saat memulai, tidak ada yang mengenal Go, tetapi sekarang banyak engineer mengatakan bahwa Go "mudah dibaca dan ditulis" dan "semakin dipakai untuk bekerja, semakin disukai"
-
Ketiadaan generic sempat menjadi keluhan, tetapi tim Go sedang mengerjakannya
-
Karena fitur bahasa Go lebih sedikit, porting kode Python membutuhkan usaha lebih, tetapi kodenya menjadi lebih konsisten dan lebih cepat dibaca
-
Peningkatan performa yang sangat besar dibanding Python
→ Kode Python untuk bulk update yang sebelumnya memunculkan sekitar 100 contention warning per jam di Google Cloud Datastore, setelah diubah ke Go berjalan hampir tanpa warning sama sekali
- Secara umum memang perlu menulis lebih banyak kode dibanding Python (verbose), tetapi lebih cepat, tool-nya bagus, dan berjalan dengan baik di production
5 komentar
Sebagai gopher dengan pengalaman 5 tahun, saya sih berharap generics tidak dimasukkan... yah.
Rasanya memang sedikit kehilangan kesederhanaan yang menjadi keunggulan Go, tetapi,
masalah-masalah yang bisa diselesaikan dengan generics sekarang harus dibuat dengan pola interface, dan itu tidak terlihat rapi,
jadi saya cukup positif terhadap penambahan generics.. hehe
Cukup mengejutkan juga bahwa mereka mulai mengganti bahasanya padahal tidak punya developer Go.
Di tulisan saat awal mereka mulai melakukan perubahan, tidak ada informasi seperti itu, jadi saya sempat mengira mereka punya cukup banyak developer Go.
Kalau di organisasi biasa, kalau ada yang bilang ingin mencoba hal seperti itu, mungkin akan mendapat penolakan besar, tetapi saya juga berpikir mungkin itu bisa dilakukan karena mereka adalah organisasi nirlaba.
Sepertinya organisasi-organisasi yang beralih ke Go semuanya punya tingkat kepuasan yang tinggi.
Memang ini bahasa yang mudah dan membuat orang jadi menyukainya.
Mungkin ini dimungkinkan karena Go adalah bahasa yang lebih kecil daripada Python. Banyak pengembang bisa mulai mengembangkan hanya dalam setengah hari.