Tüm Teknolojiler

Go Nedir? Nedir?

Go (Golang), Google tarafından geliştirilen, basitlik ve yüksek performansı hedefleyen derlenmiş bir programlama dilidir.

Yayın Yılı: 2009Google (Robert Griesemer, Rob Pike, Ken Thompson)

Go, 2009 yılında Google mühendisleri Robert Griesemer, Rob Pike ve Ken Thompson tarafından tasarlanmıştır. C++'ın karmaşıklığından ve derleme sürelerinin uzunluğundan rahatsız olan bu ekip, basit, hızlı derlenen ve eş zamanlı programlamayı kolaylaştıran bir dil yaratmayı amaçlamıştır. Go'nun en belirgin özelliği goroutine'ler ve channel'lar aracılığıyla sunduğu yerleşik eş zamanlılık (concurrency) desteğidir. Goroutine'ler, işletim sistemi iş parçacıklarından çok daha hafiftir ve milyonlarcası aynı anda çalıştırılabilir. Bu özellik Go'yu ağ servisleri ve mikroservisler için ideal kılar. Go, statik tipli ve derlenmiş bir dil olmasına rağmen, sözdizimi minimalist ve öğrenmesi kolaydır. Garbage collection sayesinde bellek yönetimi otomatiktir. Tek bir çalıştırılabilir dosya (binary) üretmesi dağıtımı son derece kolaylaştırır. Docker, Kubernetes, Terraform, Prometheus, Hugo gibi popüler araçlar Go ile yazılmıştır. Google, Uber, Twitch, Dropbox gibi şirketler altyapı servislerinde Go'yu yoğun olarak kullanmaktadır. Bulut altyapısı ve DevOps araçları geliştirmede fiili standart haline gelmiştir.

Kullanım Alanları

Mikroservis geliştirme, Bulut altyapı araçları, CLI uygulamaları, Ağ programlama, DevOps araçları

Avantajları

Çok hızlı derleme süreleri, Yerleşik eş zamanlılık desteği, Basit ve öğrenmesi kolay sözdizimi, Tek binary dağıtım kolaylığı, Güçlü standart kütüphane

Dezavantajları

Generics desteği geç geldi, Hata yönetimi verbose olabilir, GUI uygulama desteği sınırlı, OOP desteği geleneksel dillerden farklı