Bugün sizlere Google‘in geliştirdiği Go‘dan bahsedeceğim. Yüzeysel bir anlatım olacak çünkü şuan kullanmıyorum ama yakın zamanda kullacağım o zaman sizler için derine inmiş bir yazı yazacağım.

Yazı resminde bulunan sevimli arkadaşımız GoLang‘in resmi maskotu.

Bu yazıda fazla kod görmeyeceksiniz. Dili inceleyip sizlere başlangıç için tüyolar vereceğim.

GO NEDİR? NEDEN GELİŞTİRİLMİŞTİR?

 Google gibi bir devin kendi sistemlerinde yıllardır kullandığı C, C++, Java, Python vb. bir çok programlama dili ve bu dillerin avantajlı ve dezavantajlı yönleri var. Bunları basit Google App’lerinde fark edemesek de Google Cloud, Console gibi projelerinde fark edebiliyoruz. Performans, güvenlik, uyumluluk gibi konularda her zaman iyi olmak isteyen bir dev var ancak bu dev bu 3 niteliği en üst seviyeye getirdiğinde tabi ki de eksikler oluyor mesela ilk sırada hız oluyor.

Go Programlama Dili (nam-ı diğer : Golang) Google’ın kendi içerisinde 2007 yılında Robert Griesemer, Rob Pike ve Ken Thompson tarafından tasarlanmış, ve 2009 yılının Kasım ayında Google tarafından tüm dünyaya açık kaynak kodlu (open-source) olarak duyurulmuştur. Durup dururken, piyasada o kadar programlama dili varken Google yeni bir programlama dilini neden piyasaya sürdü diyebilirsiniz. Nedenini, dili tasarlayanlar burada anlatmışlar. Fazla detaya girmeden özetlemem gerekirse; Google şu anda var olan mainstream (dominant programlama dilleri) dediğimiz diller ile yapmış oldukları sistem programlamasın da hüsrana uğradıklarını ve istedikleri; verimli derlenme (efficient compilation) , verimli çalışma (efficient execution) ve kolay programlama (ease of programming) bu üçlünün bir arada olmamasından dolayı böyle bir yola giriştiklerini anlatmışlar.

Google bunun gibi etkenleri geçmek için ekibi ile beraber gezek yazılımsal gerek algoritma ile artışa geçiyordu ancak tabiki kendine ait olmayan bir şeyde ancak sahibin kendine sunduğu kadarını kullanabiliceğini bilen Google, bu etkenleri kendi iç işleri için tasarladığı Google Go ile çözüme götürdü.

Bu yüzden Go’nun kullanımı o kadar yaygın değildir çünkü neredeyse her dilde ortak olan şeyler Go’da olmayabiliyordu çünkü Google gereksiz gördüğü, işine yaramayacak şeylerden arındırılmış bir dil yarattı.

Go tamamen açık kaynaklı bir dildir, Go dilinin her satırına istediğiniz gibi bakabilir ve müdahele edebilirsiniz. Go dilini öğrenmek basittir ve basit olmasına rağmen C/C++ ile baş edebilir.

Go syntaxa çok dikkat eder, en ufak (parantez bile dahil buna) hatada Go projenizi derlerken hata verecektir.

Doğru kullanım:

func add(x int, y int) int {
return x + y
}

Yanlış kullanım:

func add(x int, y int) int
{
return x + y
}

 




Golang, Microsoft’un daha yeni yeni .Net Core ile yapmaya çalıştığı native kod olayını çok muazzam bir şekilde çözmüş. Windows ortamında derlenen Go kaynak kodu exe’ye, Unix/Linux işletim sistemlerinde derlenen Go kaynak kodu executable file dediğimiz çalıştırılabilir dosya haline gelmektedir. Golang’ın en sevdiğim özelliği: “Gerçek cross-platform” Go derleyicisi (compiler), yazmış olduğumuz kaynak kodu işletim sistemine göre, işlemcinin anlayacağı dile yani native kod’a dönüştürüyor ve tabii ki Go programlarınızı çalıştırmak için ekstra bir kurulum yapmanıza gerek kalmıyor. C++ gibi geldi değil mi? Fakat daha kolay, daha açık, daha bağımsız ve C++ kadar hızlı.

Golang’ın; anlaşılması kolay, temiz söz dizimi ve kolay programlanabilirliği ile yapılabileceklerin hiçbir limiti yoktur. Öncesinde sistem programlama dili olarak tasarlanmış olsa da artık web’den tutunda IoT uygulamarına kadar birçok projede başarılı bir şekilde kullanılmaktadır. Firmalar bu yeni dile yavaş yavaş ilgi göstermeye başlamış ve muazzam projeler ortaya koymuşlardır. Örneğin bunlardan en çok bilinen ve kullanılanı Docker projesidir. Tamamen Golang ile yazılan bu açık kaynak kodlu (open-source) proje 2015’e damgasını vurmuş ve sanallaştırmada bir çığır açmıştır.