Golang (Go Programlama Dili) Nedir?

Go, diğer adıyla Golang 2007 yılında adımları atılan, 2009 itibariyle açık bir şekilde adı dile getirilen, 2012 ortalarına doğru Go 1.0‘a ulaşan, arkasında Ken Thompson, Rob Pike ve Robert Griesiemer gibi geliştiricilerin bulunduğu ve Google tarafından desteklenen, basitliği ve sunduğu performansla öne çıkan, oldukça genç sayılabilecek, açık kaynak bir programlama dili1.

AA

Kimi go geliştiricileri kendilerini gopher olarak nitelendiriyorlar. Gopher, TCP/IP protokolü olmasına karşın logonun da sembolize ettiği amerikan yersincabı (kemirgen).

Golang (Go Programlama Dili)

UNIX temelli sistemler (Linux, macOS, FreeBSD vs.), Windows gibi pek çok işletim sisteminde çalışan, ek olarak mobil tarafta da golang.org/x/mobile/app ile (1.4 sürümünden sonra) Android üzerinde logic oluşturabileceğiniz Go yakın zamanda iOS ve Windows desteği de sunacak gibi görünüyor2.

Golang

Go 25 adet keyword içerir ve yapısı şu şekilde özetlenebilir: “Az kural, esneklik ve hız“. Bu nedenle okunması, öğrenimi oldukça kolaydır. Az kural olabilir ancak kurallar konusunda oldukça nettir. Örneğin import edilen bir paket ya da oluşturulmuş bir değişken uygulama içerisinde kullanılmamışsa hata döndürecektir.

package main
import "fmt"
func main() {
    fmt.Println("Merhaba Dünya!")
}

Go, tek bir dosyaya derlenir ve dil içerisinde değişkenler küçük harf (a-z) ile başlıyorsa private, büyük harf (A-Z) ile başlıyorsa public olarak değerlendirir.

Go Kullanımı

Go, sunucu ve alt sistemler gibi sistem programlama ihtiyaçlarına cevap vermek için geliştirilmiş olmasına karşın yeni sürümlerle birlikte yeni yetenekler de kazanmaya devam etmekte. R ile ilgili yazıda da belirttiğim gibi bir dilin artıları ve eksilerinden ziyade gereksinimlerime cevap verebiliyor olması benim için önemli3 4. Bu nedenle R programlama dili dışında Go ile ilgili örneklerde de merkezde bu anlayış yer alacak5. Örneğin, Go ile web için hızlı ve yüksek performanslı projeler üretmek mümkün. 1.4 sürümüyle birlikte Android için de sunulan destekle mobil tarafta da etkili projelerde yer almaya başlıyor olması da sürpriz değil. Konuyla ilgili olarak devnot‘un Go Programlama Diline Genel Bakış6 ve Oğuzhan’ın Go Programlama Dili Üzerine başlıklı yazılarını okuyabilirsiniz.

Dil için önerebileceğim kaynaklar ise şöyle:

Bir sonraki yazılarda macOS ve Linux (Ubuntu) ortamında Go kurulumlarından bahsedeceğim.