Movatterモバイル変換


[0]ホーム

URL:


İçeriğe atla
VikipediÖzgür Ansiklopedi
Ara

Go (programlama dili)

Vikipedi, özgür ansiklopedi
Go
ParadigmasıDerlenen,emirli,yapısal
İlk çıkışı10 Kasım 2009 (16 yıl önce) (2009-11-10)
TasarımcıKen Thompson
Robert Griesemer, Rob Pike
GeliştiriciGoogle Inc.
Kararlı sürüm1.25.5[1] (2 Aralık 2025)
EtkilendikleriAlef,APL,[2]BCPL,[2]C,CSP,Limbo,Modula,Newsqueak,Oberon,occam,Pascal,[3]Python,Smalltalk[4]
PlatformuLinux,OS X,Windows, bazıBSD veUnix versiyonları
İşletim sistemiÇapraz platform
LisansBSD lisansı stili
Olağandosya uzantıları.go
Web sitesigo.dev
Go'nun önceki, Amerikan yer sincabı maskotlu logosu.

Go, statik tipli,derlenen, yüksek seviyeli birprogramlama dilidir. Robert Griesemer, Rob Pike veKen Thompson tarafındanGoogle'da 2007 yılından itibaren geliştirilmeye başlanmıştır.[5] SözdizimiC'ye benzerdir fakat hafıza erişimi güvenlidir, kullanılmayan hafıza kaynakları sisteme otomatik olarakgeri verilir,interface veri tipleri sayesinde yapısal (özellik bazlı) tip sistemini (structural type system) destekler veeşzamanlı (concurrent) çalışanişlemlerin (process) ortak hafıza kullanabilmelerinin yanında birbiriyle iletişim kurmalarını (communicating sequential processes) sağlayan ögelere sahiptir. Eski alan adıgolang.org olduğundan sık sıkgolang ismiyle anılır ama asıl adı Go'dur.[6]

Go derleyicisi "gc"açık kaynaktır veLinux,OS X,Windows, bazıBSD veUnix versiyonları ve ayrıca 2015'ten itibaren akıllı telefonlar için geliştirilmiştir.

Tarihçe

[değiştir |kaynağı değiştir]

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

Go, Google mühendisleri Robert Griesemer, Rob Pike veKen 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:[8]

  • Statik yazılmış, büyük sistemlere ölçeklenebilir olması (Java veC++ gibi)
  • Üretken ve okunabilir olması, çok fazla zorunlu anahtar kelime ve tekrarlamaların kullanılmaması[9]
  • 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.[10][11][12]

Go 1.0, Mart 2012'de yayınlanmıştır.[13]

Go'nun şu anki güncel sürümü 13 Ağustos 2024'te yayınlanan Go 1.23'tür.[14]

Dil tasarımı

[değiştir |kaynağı değiştir]

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:

  • Değişken tanımındaki tür belirtimi isteğe bağlıdır. (int x = 0; yerinex := 0;).
  • Hızlı derleme süresi.[16]
  • Uzak paket yöneticisi (go get)[17] ve online paket dökümantasyonu.[18]
  • Belirli problemlere ayırt edici yaklaşımlar:
  • Dahili eşzamanlılık ilkelleri:light-weight process [en]'lar (goroutines),kanallar [en] veselect ifadesi.
  • Varsayılan olarak statik olarak bağlanmış native binary'ler, ekstra bağımlılıklara ihtiyaç duyulmadan üretilir.

Söz dizimi

[değiştir |kaynağı değiştir]

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ılarai := 3 ya das := "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

[değiştir |kaynağı değiştir]

Go ileMerhaba dünya programı

packagemainimport"fmt"funcmain(){fmt.Println("Merhaba dünya!")}

Kaynakça

[değiştir |kaynağı değiştir]

Bu makale, Creative Commons Attribution 3.0 lisansına sahip resmi Go eğitselindenLet's Go1 Temmuz 2016 tarihindeWayback Machine sitesindearşivlendi. alıntılar içermektedir.

  1. ^"Release History - The Go Programming Language".go.dev. 18 Aralık 2025 tarihinde kaynağındanarşivlendi. Erişim tarihi: 2 Aralık 2025. 
  2. ^abPike, Rob (24 Nisan 2014)."Hello Gophers". 10 Ekim 2016 tarihindekaynağından arşivlendi. Erişim tarihi:11 Mart 2016. 
  3. ^"Language Design FAQ".golang.org. 16 Ocak 2010. 2 Ocak 2013 tarihindekaynağından arşivlendi. Erişim tarihi: 27 Şubat 2010. 
  4. ^"The Evolution of Go". 16 Ocak 2017 tarihindekaynağından arşivlendi. Erişim tarihi: 26 Eylül 2015. 
  5. ^"Google's Go: A New Programming Language That's Python Meets C++". 7 Ocak 2019 tarihinde kaynağındanarşivlendi. Erişim tarihi: 13 Kasım 2009. 
  6. ^"Frequently Asked Questions (FAQ)". 22 Kasım 2021 tarihinde kaynağındanarşivlendi. Erişim tarihi: 7 Kasım 2022. 
  7. ^"Go FAQ: Is Google using Go internally?". 7 Ocak 2019 tarihinde kaynağındanarşivlendi. Erişim tarihi:9 Mart 2013. 
  8. ^Pike, Rob (28 Nisan 2010)."Another Go at Language Design".Stanford EE Computer Systems Colloquium.Stanford University. 12 Haziran 2014 tarihinde kaynağındanarşivlendi. Erişim tarihi: 21 Şubat 2017. Video available 25 Kasım 2016 tarihindeWayback Machine sitesindearşivlendi..
  9. ^"Frequently Asked Questions (FAQ) - The Go Programming Language".golang.org. 25 Şubat 2017 tarihindekaynağından arşivlendi. Erişim tarihi: 26 Şubat 2016. 
  10. ^Andrew Binstock (18 Mayıs 2011)."Dr. Dobb's: Interview with Ken Thompson". 27 Temmuz 2016 tarihinde kaynağındanarşivlendi. Erişim tarihi: 7 Şubat 2014. 
  11. ^Pike, Rob (2012)."Less is exponentially more". 21 Mart 2016 tarihinde kaynağındanarşivlendi. Erişim tarihi: 21 Şubat 2017. 
  12. ^Robert Griesemer (2015)."The Evolution of Go". 5 Eylül 2015 tarihindekaynağından arşivlendi. Erişim tarihi: 21 Şubat 2017. 
  13. ^"Release History". 17 Şubat 2017 tarihindekaynağından arşivlendi. Erişim tarihi: 21 Şubat 2017. 
  14. ^"Go 1.23 is released - The Go Programming Language".go.dev (İngilizce). 15 Eylül 2024 tarihinde kaynağındanarşivlendi. Erişim tarihi: 11 Eylül 2024. 
  15. ^Pike, Rob."The Go Programming Language". YouTube. 11 Şubat 2013 tarihinde kaynağındanarşivlendi. Erişim tarihi:1 Temmuz 2011. 
  16. ^Rob Pike (10 Kasım 2009).The Go Programming Language(flv) (Tech talk). Google. 7 Mart 2017 tarihinde kaynağındanarşivlendi. Erişim tarihi: 21 Şubat 2017.8:53 
  17. ^Download and install packages and dependencies - go - The Go Programming Language 12 Mart 2017 tarihindeWayback Machine sitesindearşivlendi.; seegodoc.org 7 Ekim 2020 tarihindeWayback Machine sitesindearşivlendi. for addresses and documentation of some packages
  18. ^"GoDoc".godoc.org. 3 Şubat 2017 tarihindekaynağından arşivlendi. Erişim tarihi:21 Mart 2020. 

Dış bağlantılar

[değiştir |kaynağı değiştir]
C veC++
Açık kaynak
Freeware
Perakende
Durduruldu
Java
Açık kaynak
Freeware
Perakende
Durduruldu
JavaScript
Açık kaynak
CLI
Açık kaynak
Freeware
Perakende
Durduruldu
Flash
PHP
Açık kaynak
Özel mülk
R
Python
Açık kaynak
Özel mülk
Pascal ve
Object Pascal
Açık kaynak
Freeware
Perakende
Durduruldu
BASIC
Açık kaynak
Freeware
Perakende
Durduruldu
Go
Açık kaynak
Freeware
Perakende
Çevrimiçi
Otorite kontrolüBunu Vikiveri'de düzenleyin
"https://tr.wikipedia.org/w/index.php?title=Go_(programlama_dili)&oldid=36581559" sayfasından alınmıştır
Kategoriler:
Gizli kategoriler:

[8]ページ先頭

©2009-2026 Movatter.jp