GO Programlama Dili Hakkında
GO ya da bilinen diğer adıyla Golang 2007 Yılında Google tarafından geliştirilmeye başlanmış açık kaynak kodlu bir programlama dilidir.
Neden GO ?
- Açık kaynak kodludur. (open-source)
- Birçok projede (project) üründe (product) ve toplulukta (community) kullanılmaktadır.
- Google tarafından desteklenmektedir.
- Takım çalışmaları için elverişlidir.
- Yerleşik olarak concurrency desteği vardır.
- Zengin Standart Kütüphaneleri ( built-in-standart-libraries ) mevcuttur.
- Öğrenimi kolaydır.
GO Tarihi
Dil Gelistiricileri

Soldan Sağa: Robert Griesemer, Rob Pike, Ken Thompson
Go'nun geliştirilme süreci, Google'da çalışan üç önemli isim olan Robert Griesemer, Rob Pike ve Ken Thompson tarafından başlatılmıştır.
Diğer programlama dillerinde karşılaşılan zorluklar ile ilgili tartışmalar bu üçlüyü kendi dillerini icat etmeye teşvik etmiştir.
GO programlama dili derlenerek çalışan ikinci nesil bir programlama dilidir. İkinci nesil denilmesinin sebebi yazılan kod assembly (derleme ya da montaj) edildiğinde binary (makine seviyesi) komutlara dönüştürülür.
Tasarım aşamasında C++ ve Python gibi dillerden etkilenilmiştir.
GO Versiyon Tarihi
| Versiyon | Yayın Tarihi | Yılı | Açıklama |
|---|---|---|---|
| go1.0 | 2012-03-28 | 2012 | |
| go1.1 | 2013-05-13 | 2013 | |
| go1.2 | 2013-12-01 | 2013 | |
| go1.3 | 2014-06-18 | 2014 | |
| go1.4 | 2014-12-10 | 2014 | |
| go1.5 | 2015-08-19 | 2015 | |
| go1.6 | 2016-02-17 | 2016 | |
| go1.7 | 2016-08-15 | 2016 | |
| go1.8 | 2017-02-16 | 2017 | |
| go1.9 | 2017-08-24 | 2017 | |
| go1.10 | 2018-02-16 | 2018 | |
| go1.11 | 2018-08-24 | 2018 | |
| go1.12 | 2019-02-25 | 2019 | |
| go1.13 | 2019-09-03 | 2019 | |
| go1.14 | 2020-02-25 | 2020 | |
| go1.15 | 2020-08-11 | 2020 | |
| go1.16 | 2021-02-16 | 2021 | |
| go1.17 | 2021-08-16 | 2021 | |
| go1.18 | 2022-03-15 | 2022 | |
| go1.19 | 2022-08-02 | 2022 | |
| go1.20 | 2023-02-01 | 2023 | |
| go1.21 | 2023-08-08 | 2023 | |
| go1.22 | 2024-02-06 | 2024 |
GO Dili Kullanan Büyük Sirketler ve Projeleri
Kaynak: brainhub.eu - Companies Using Golang - Top 7 Popular Apps You Use Everyday

Golang, Google mühendisleri tarafından tasarlandı ve burada genellikle şirket içi projeler için kullanılıyor. Google Chrome ve Google Earth bu şekilde oluşturuldu. Ayrıca YouTube ve Google App Engine'de de kullanılır.
- Google Earth
- Youtube
- Google Chrome
Uber

Golang'ı kullanan en büyük şirketlerden biri Uber'dir. Burada kullanıcının konumunu ve ürünün kullanılabilirliğini sağlayan coğrafi sınır hizmeti için kullanılır. Geofence, özel gereksinimlere sahip alanın hassas bir şekilde tanımlanmasına (örneğin, havaalanları gibi yerler dikkate alınarak) ve dinamik fiyatların uygulanmasına olanak sağlar.
Uber'den Kai Wei'ye göre şirket, Golang ile çalışırken çok olumlu deneyimler yaşadı. C++, Java veya Node programcılarının Go'ya geçme kolaylığı ve yüksek bant genişliği ve gecikme performansı takdir edilmiştir.
Geofence: Haritalar üzerinde sanal çitle çevrilmiş bölgeler oluşturmak anlamına gelir. Böylece belirli bölgeleri belirli amaçlarla işaretleme ve kullanma özelliği gösterir.
Hizmet garantili yüksek güvenilirliğe sahiptir. Devreye alınmasından bu yana %99,99 oranında sürekli olarak çalışmaktadır. Dil açısından herhangi bir sorun yaşanmazken, üçüncü taraf kütüphanelerden kaynaklanan nadir kesintiler yaşandı.
Twitch

Twitch'te en çok yüklü sistemler için Go kullanılıyor. Sadeliği, güvenliği, verimliliği ve okunabilirliği nedeniyle takdir edilmektedir; bu, çok sayıda kullanıcının canlı video ve eşzamanlı sohbetlerini görüntülerken karşılaşılan sorunları mükemmel bir şekilde yönettiği anlamına gelir.
Ancak hepsinden önemlisi Go, Twitch'in dinamik olarak ayrılmış belleğin otomatik olarak yönetilmesinden sorumlu olan GC (çöp toplama) faktörünü 20 kat geliştirmesini sağladı.
Dailymotion
Dailymotion bir video akışı sitesidir. Diğerlerinin yanı sıra Golang sayesinde API'lerin otomasyonu iyileştirildi.
Bu dil, aksi takdirde büyük yüklere neden olacak çok sayıda otomasyon testinin gerçekleştirilmesine olanak tanır. Hepsi Golang'ın basitliği ve performansının yanı sıra statik tip kontrolü olasılığı nedeniyle.
Dropbox

Bulut bilişim hizmetlerinde liderlerden biri olan Dropbox, Golang'ı kullanan büyük bir şirketin bir başka harika örneğini oluşturuyor. Sistemlerini daha verimli bir şekilde ölçeklendirmek için bu dile ihtiyacı var. Bu amaçla şirket, kritik sistemlerini Python'a taşıdı.
Go kütüphanelerinin derinliğinin yetersiz olması sorununu çözmek ve daha büyük sistemler kurabilmek için Dropbox kendi kütüphanelerini kurmaya başladı.
Bu onların önbelleğe almayı geliştirmelerine, standart hata arayüzünü geliştirmelerine, programcıların programlı olarak SQL ifadeleri oluşturmalarına olanak sağlamalarına ve tamamen işlevsel memcache istemci kitaplıkları uygulamalarına olanak sağladı.
Dropbox, Golang kitaplıklarını genişletmeyi ve dahili olarak kullanılan kitaplıkları GitHub'da herkese açık hale getirmeyi planlıyor.
Soundcloud

Golang'ı kullanan en büyük şirketlerden biri SoundCloud'dur. Ruby on Rails'in yanı sıra Go dilini de kullanmaya karar verdi.
Mühendisleri Golang'ı bir WYSIWYG dili olarak tanımladı; bu, girilen kodun tam olarak sayfada görünen şeyi yaptığı anlamına geliyor. Ayrıca, kod üzerinde düşünmeye daha az zaman harcanması anlamına gelen "tek sorun - tek çözüm" felsefesini de takdir ediyorlar.
SoundCloud için gerçek zamanlı statik analiz gerçekleştirme yeteneği de önemliydi; bu, Go'nun sağladığı statik yazma ve hızlı derleme sayesinde mümkün oldu.
Bu, uygulamalar üzerindeki çalışmayı önemli ölçüde hızlandırdı.
Şu anda SoundCloud, tamamı Go'da yazılmış 6 hizmet ve bir düzine kadar depo kullanıyor.
