Go adalah bahasa pemrograman yang dikompilasi yang
mana proseses kompilasinya lebih cepat dibandingkan C, concurrent,
garbage-collected, dan termasuk tipe
bahasa pemrograman statis yang dikembangkan oleh Google yang langsung
berkomunikasi dengan processor (tanpa
menggunakan interpreter).
Go di Google Pemrograman Go dirancang oleh Google untuk membantu
mengatasi masalah yang dihadapi Google dan masalah besar di Google. Singkatnya,
pengembangan di Google begitu besar, hal ini membuat beberapa aplikasi menjadi
lambat dan sering terjadi kejanggalan, tetapi efektif untuk digunakan saat ini.
Concurrency Konkurensi
sangat dibutuhkan dalam lingkungan komputasi moderen yang menggunakan multicore webserver dengan multiple client. Jika komputer yang
dijalankan menggunakan single processor maka program masih tetap mendukung
konkurensi namun tidak secara paralel. Namun memang pada awalnya konkurensi
dimaksudkan untuk menangani multi-processor
dan menjalankan aplikasi secara palarel (sebagai contoh: penggunaan goroutine, threads).
Garbage Collection Go mendukung garbage
collection, hal ini untuk mereduksi waktu dan pekerjaan programmer dalam mengembangkan aplikasi.
Programmer tidak perlu melakukan
pembebasan memori (free memory)
ketika selesai menjalakan operasi tertentu karena hal ini sudah otomatis
ditangani oleh garbage collector.
Selain itu Go menyediakan pointer
dalam melakukan manajemen memory dan
menghilangkan pointer arithmetic
untuk menghindari kebingungan pengguna.
Open Source Go menjadi sebuah proyek publik open source under BSD Licence pada
bulan November 2009.
Kelebihan lain
Go mendukung bahasa UTF-8 tidak hanya terbatas pada
string tetapi juga dalam penulisan
kode programnya. Untuk menjaga efisiensi penggunaan kode
program dengan melemparkan error jika
variabel tidak digunakan dalam program dan dapat dikompilasi di multi-platform. Performa aplikasi di Go
tentu saja dapat dipastikan lebih cepat dan penggunaan memori lebih sedikit
dibandingkan dengan Java atau Scala.
Berikut beberapa daftar lingkup praktis
pengembangan aplikasi menggunakan Go menurut Rob Pike:
- Web servers.
- Web browsers.
- Web crawlers.
- Search indexers.
- Databases.
- Compilers.
- Programming tools.
- IDEs.
- Bahkan
tidak menutup kemungkinan digunakan untuk pengembangan Operating Systems.
Beberapa area dalam teknologi informasi di atas
dapat memanfaatkan fitur yang telah ditawarkan oleh Go. Selain itu bahasa
pemrograman ini dapat juga dimanfaatkan untuk information processing terutama dalam menangani hal-hal yang
berkaitan dengan masalah kecepatan pemrosesan data baik yang berkala maupun realtime.
Dalam
pengembangannya di masa yang akan datang Go tidak hanya fukus pada beberapa
permasalahan tertentu saja, karena perkembangan teknologi informasi yang begitu
cepat inilah yang mengakibatkan lahirnya bahasa pemrograman Go .
Go
adalah bahasa pemrograman yang ekspresif, ringkas, bersih dan efisien

