Ad Code

Responsive Advertisement

Ticker

6/recent/ticker-posts

Go

 

Go
Go Logo Blue.svg
ParadigmasıDerlenenemirliyapısal
İlk çıkışı10 Kasım 2009 (11 yıl önce)
TasarımcıKen Thompson
Robert Griesemer, Rob Pike
GeliştiriciGoogle Inc.
Kararlı sürüm

1.15.5

(12 Kasım 2020 (11 ay önce))
Tip sistemiStatik
EtkilendikleriAlefAPL,[1] BCPL,[1] CCSPLimboModulaNewsqueakOberonoccamPascal,[2] PythonSmalltalk[3]
PlatformuLinuxOS XWindows, bazı BSD ve Unix versiyonları
İşletim sistemiÇapraz platform
LisansBSD lisansı stili
Olağan dosya uzantıları.go
Web sitesigolang.org
Go'nun önceki, Amerikan yer sincabı maskotlu logosu.

Go (diğer adıyla golang), Google'da 2007 yılından itibaren geliştirilmeye başlayan açık kaynak programlama dilidir.[4] Daha çok sistem programlama için tasarlanmış olup, derlenmiş ve statik tipli bir dildir. Kasım 2009'da çıkmıştır. Go derleyicisi "gc", açık kaynak yazılım olarak, LinuxOS XWindows, bazı BSD ve Unix versiyonları, ve ayrıca 2015'ten itibaren akıllı telefonlar için geliştirilmiştir.

Tarihçe

Dil, Kasım 2009'da duyrulmuştur. Google'ın bazı ürünlerinin sistemlerinde olduğu gibi diğer firmalar tarafından da kullanılmaktadır.[5]

Go, Google mühendisleri Robert Griesemer, Rob Pike, ve Ken Thompson tarafından bir deney olarak ortaya çıkarılmış, diğer dillerin bilinen eleştirilerini çözecek ve olumlu özelliklerini koruyacak şekilde tasarlanmıştır. Yeni dil aşağıdaki özellikleri içermekteydi:[6]

  • Statik yazılmış, büyük sistemlere ölçeklenebilir olması (Java ve C++ gibi)
  • Üretken ve okunabilir olması, çok fazla zorunlu anahtar kelime ve tekrarlamaların kullanılmaması[7]
  • Tümleşik geliştirme ortamına ihtiyaç duymaması ancak desteklemesi
  • Ağ (networking) ve çoklu işlemleri (multiprocessing) desteklemesi

Yapılan röportajlarda bu üç dil tasarımcısının yeni dili yapmalarındaki motivasyonun, C++'daki karmaşıklığı beğenmedikleri için geldiğini belirtmişlerdir.[8][9][10]

Go 1.0, Mart 2012'de yayınlanmıştır. En son Ağustos 2018'de Go 1.11 sürümü yayınlanmıştır.[11]

Dil tasarımı

Go, C'nin bilinen özelliklerini taşımaktadır ancak yapılan değişiklikler dili basit, kısa ve güvenli hale getirmiştir. Aşağıda Go'yu kısaca tanımlayan özellikler yer almaktadır:

  • Söz dizimi ve çevresel kalıpları benimsemesi daha çok dinamik dillere benzemektedir:[12]
  • Değişken tanımındaki tür belirtimi isteğe bağlıdır. (int x = 0; yerine x := 0;).
  • Hızlı derleme süresi.[13]
  • Uzak paket yöneticisi (go get)[14] ve online paket dökümantasyonu.[15]
  • Belirli problemlere ayırt edici yaklaşımlar:
  • Dahili eş zamanlılık ilkelleri: light-weight process'lar (goroutines), kanallar, ve select ifadesi.
  • Varsayılan olarak statik olarak bağlanmış native binary'ler, ekstra bağımlılıklara ihtiyaç duyulmadan üretilir.

Söz dizimi

Go'nun söz dizimi, C'den yapılan değişiklikleri içerir, kodu kısa ve okunabilir kılmayı amaçlar. Birleştirilmiş declaration ve başlatma operatörü, programcılara i := 3 ya da s := "bazı kelimeler" yazarak, herhangi bir tür belirtimine ihtiyaç duyulmadan değişken tanımlamasını sağlar. Noktalı virgüller hala ifadeleri sonlandırır fakat satır sonlarında kullanılmasına gerek yoktur. Fonksiyonlar birden fazla değerler döndürebilir (return result, err).

Örnek kullanım

Go ile Merhaba dünya programı

package main

import "fmt"

func main() {
    fmt.Println("Merhaba dünya!")
}

Yorum Gönder

0 Yorumlar

Ad Code

Responsive Advertisement