Selamat ulang tahun, Go!

Akhir pekan ini kami merayakan peringatan ke 10 dari rilisnya Go, menandakan ulang tahun ke 10 dari Go sebagai bahasa pemrograman sumber terbuka dan ekosistem untuk membangun perangkat lunak jaringan yang modern.

Untuk menandai peristiwa ini, Reene French, pencipta logo Go gopher, melukiskan kejadian menggembirakan ini:

gopher 10th

Merayakan 10 tahun Go membuat saya membayangkan kembali pada awal November 2009, saat kami bersiap membagikan Go dengan dunia. Kita tidak tahu reaksi yang akan kita terima, apakah orang lain akan peduli atau tidak dengan bahasa kecil ini. Saya berharap bahwa bahkan jika tidak ada orang yang menggunakan Go, kami paling tidak telah menarik perhatian orang terhadap beberapa ide bagus, terutama pendekatan Go terhadap konkurensi dan interface, yang mungkin dapat mempengaruhi bahasa-bahasa selanjutnya.

Saat sudah jelas bahwa orang-orang sangat senang dengan Go, saya melihat sejarah dari bahasa-bahasa terkenal seperti C, C++, Perl, Python, dan Ruby, melihat berapa lama setiap bahasa tersebut mencapai tingkat adopsi yang luas. Sebagai contohnya, Perl seingat saya muncul sepenuhnya di pertengahan-akhir 1990-an, dengan skrip CGI dan web, namun di rilis pertama kali tahun 1987. Pola ini berulang untuk hampir semua bahasa yang saya kenali: tampaknya hampir perlu satu dekade dengan peningkatan yang mantap dan penyebaran yang tenang sebelum sebuah bahasa baru benar-benar meluncur.

Saya membayangkan: di manakah Go setelah satu dekade?

Hari ini, kita dapat menjawab pertanyaan tersebut: Go ada di mana saja, digunakan paling tidak satu juga pengembang di seluruh dunia.

Target awal Go adalah infrastruktur sistem jaringan, yang kita sebut sekarang sebagai perangkat lunak cloud. Setiap penyedia cloud yang besar menggunakan infrastruktur yang ditulis dalam Go, seperti Docker, Etcd, Istio, Kubernetes, Prometheus, dan Terraform; mayoritas dari proyek Cloud Native Computing Foundation ditulis dalam Go. Tidak terhitung banyaknya perusahaan menggunakan Go untuk memindahkan pekerjaannya ke cloud, dari startup yang dibangun dari awal sampai perusahaan yang memodernkan perangkat lunak mereka. Go juga telah diadopsi di luar target awalnya, digunakan untuk mengontrol sistem tertanam dengan GoBot dan TinyGo sampai mendeteksi kanker lewat pembelajaran mesin dan analisis data besar di GRAIL, dan apa pun di antaranya.

Semua ini bisa dikatakan Go telah sukses di luar mimpi kita. Dan kesuksesan Go tidak saja karena bahasa. Ia sukses karena bahasa, ekosistem, dan terutama komunitas yang bekerja bersama-sama.

Di tahun 2009, bahasa Go adalah sebuah gagasan yang bagus dengan implementasi yang masih kasar. Perintah go belum ada: kami menjalankan perintah seperti 6g untuk mengkompilasi dan 6l untuk menautkan binary, diotomasi dengan berkas makefile. Kami menulis titik-koma disetiap akhir perintah. Program berhenti selama garbage collection berjalan, dan kesusahan memanfaatkan CPU dengan dua core. Go hanya berjalan di Linux dan Mac, di 32 dan 64 bit x86, dan 32-bit ARM.

Selama satu dekade terakhir, dengan bantuan pengembang Go di seluruh dunia, kita telah mengembangkan ide dan sketsa menjadi bahasa yang produktif dengan peralatan yang fantastis, implementasi dengan kualitas produksi, garbage collector yang terbaru, dan penggunaan ke 12 sistem operasi dan 10 arsitektur.

Setiap bahasa pemrograman membutuhkan bantuan dari ekosistem untuk tumbuh. Rilis sumber terbuka adalah benih dari ekosistem tersebut, namun sejak itu, banyak orang telah membagikan waktu dan talenta mereka untuk memenuhi ekosistem Go dengan tutorial, buku, kursus, blog, podcast, perkakas, integrasi, dan tentu saja paket-paket Go yang dapat digunakan dan di impor dengan go get. Go tidak akan pernah sukses tanpa dukungan ekosistem ini.

Tentu saja, ekosistem butuh dukungan dari komunitas. Di tahun 2019 ada berlusin konferensi Go di seluruh dunia, bersama dengan lebih dari 150 grup meetup dengan lebih dari 90.000 anggota. GoBridge dan Women Who Go membantu membawa suara baru ke komunitas Go, lewat bimbingan, pelatihan, dan beasiswa konferensi. Di tahun ini saja, mereka telah mengajarkan ratusan orang dari kelompok tradisional yang kurang terwakili dalam lokakarya yang mana anggota komunitas saling mengajar dan membimbing yang baru.

Ada lebih dari satu juta pengembang Go di seluruh dunia, dan perusahaan-perusahaan mencari dan mempekerjakan lebih banyak lagi. Pada kenyataannya, orang-orang terkadang memberitahu kita bahwa dengan belajar Go membantu mereka mendapatkan pekerjaan yang pertama dalam industri teknologi. Pada akhirnya, apa yang paling kami banggakan dari Go bukanlah fitur yang dirancang sempurna atau kode yang pintar namun impak positif yang telah Go berikan kepada banyak kehidupan orang. Kami mencoba membuat bahasa yang membantu kita menjadi pengembang yang lebih baik, dan kami senang bahwa Go telah membantu banyak orang lainnya.

Saat , saya berharap setiap orang mengambil kesempatan untuk merayakan komunitas Go dan semua yang telah kita capai. Sebagai wakil dari tim Go di Google, terima kasih kepada semua orang yang telah bergabung dengan kita selama satu dekade ini. Mari buat dekade berikutnya lebih luar biasa!

GoTurns10