Go atau yang biasa dikenal dengan nama Golang merupakan bahasa pemrograman Open Source yang merupakan hasil karya dari Robert Griesemer, Rob Pike, dan Ken Thompson yang juga merupakan karyawan dari perusahaan raksasa Google. Bahasa ini dikembangkan pada tahun 2007 dan mulai dikenalkan ke publik pada tahun 2009.
Go berawal dan dikembangkan dari bahasa pemrograman populer seperti C dan Java, yang menawarkan kelebihan notasi yang ringkas dan bertujuan agar kode tetap sederhana dan mudah untuk dibaca/di mengerti. Desainer bahasa Go, Robert Griesemer, Rob Pike, dan Ken Thompson, mengungkapkan bahwa kompleksitas dari C++ menjadi motivasi utama mereka.
Kelebihan Golang
1. Cepat
Go memang dirancang untuk menghasilkan aplikasi yang memiliki performansi tinggi dan memanfaatkan resource yang ada dengan seefektif dan seefisien mungkin. Berbeda seperti PHP, Phyton atau Ruby yang bersifat interpreter, Go adalah sebuah compiler. Hasil akhir dari Go adalah sebuah file binary yang bisa dieksekusi langsung oleh komputer tanpa memerlukan ketergantungan terhadap aplikasi yang lain. Tentu saja hal ini harus dibayar dengan file size hasil Go yang sedikit lebih besar.
Untuk sebuah program Hello World standard, yang dieksekusi pada Mac Book Pro Mid 2013 2.9Ghz 16GB Memory, Go menunjukkan 150x lebih cepat daripada PHP dan 45x lebih cepat daripada Java dan .Net. Oh ya, Go tidak hanya cepat dalam kecepatan eksekusi tapi juga untuk proses kompilasi, dan apabila kita sedang mengembangkan sebuah aplikasi yang acap mengalami perubahan hal ini cukup crucial.
2. Sederhana dan Mudah Dipelajari
Go memilii sintaks-sintaks yang simple, hal itu yang membuat Go mudah dipelajari. Go juga memiliki dokumen yang lebih terstruktur dan lebih rapi. Selain itu bagi seorang yang baru mengenal Go, Go menyediakan tour untuk belajar Go dengan model yang lebih interaktif.
3. Bersih dan Rapi
Ketika melakukan pemrograman di Go, maka kita akan “dipaksa” untuk menggunakan metodologi penulisan mereka. Dan metodologi ini menghasilkan rangkaian kode yang bersih dan rapi.
4. Disiplin
Go adalah bahasa yang menganut konsep strongly typed programming, dimana semua elemen di Go harus dideklarasikan tipe datanya. Hal ini berakibat pada disiplin yang tinggi yang harus dianut oleh programmer Go.
Go juga tidak akan menolerir apabila sebuah variable atau package didefinisikan tapi tidak pernah digunakan.
5. Dukungan Komunitas
Di usianya yang masih muda dibanding bahasa lain. Go berkembang sangat pesat dan banyak diadopsi oleh banyak perusahaan besar untuk menyesaikan problem komputika mereka. Hal ini tentunya tak lepas dari dukungan para pengembang dan pengguna Go. Komunitas Gopher, para pengguna Go, inilah yang memberi kontribusi cukup besar bagi perkembangan Go.