Go programlama dili, Google tarafından 2007 yılında başlatılan açık kaynak kodlu bir yazılım projesidir. Projenin amaçları C++ ve Java dillerindeki gibi statik tip ve çalışma zamanı etkinliği sahibi bir dil olması yanında, Python ve Javascript gibi okunabilirlikten vazgeçmeden çoklu işlemci ve yüksek performans gerektiren ağ işlemlerini başarabilmesidir. Tasarımcıların paylaştığı ortak paydalardan birisi de c++’da hoşlanmıyor olmaktı. 2009 Kasımında halka duyuruldu, versiyon 1.0 ise Mart 2012’de kullanıma sunuldu. Google’da pek çok üründe kullanılan dil, sadece Google’da değil başka oluşumlar, kuruluşlar ve açık kaynak projelerde de kullanılıyor.
Go Programlama Dilinin Yaşadığı Gelişmeler
2012 Mart’ında 1.0 sürümü kullanıma sunulması ile başlayan gelişmeler oldu. Bu gelişmeler teknik anlamda dilin özelliklerini etkilediği kadar tasarımda da değişikliğe gidildi. 2013 Mayısında 1.1 versiyonu kullanıma sunuldu. Bu yeni 1.1 versiyonunda en önemli değişiklikler integer(int) yani tam sayı türündeki değişkenlerin kullanımı ve fonksiyon üzerinde oldu.
1.2 versiyonunda ise daha çok çoklu işlem yapmayı sağlayan Thread fonksiyonu üzerinde durulmuştur. Bir go programında varsayılan thread limiti on bin adettir. Tabii bu limit düzenlenebilir ve değiştirilebilir.
Versiyon 1.3 ile iki önemli değişiklik göze çarpıyor; Bellek modelindeki değişim ve garbage collector’daki yenilikler. Bu ikisi sayesinde bellek yönetimi daha da gelişmiş bir boyuta ulaştı.
1.4 ile yeni dahili paketler eklendi, bu sayede de bütünleşik özellikler artmış oldu. Ayrıca runtime’daki kod arttığı için garbage collector programın bellekte kapladığı alanı daha etkili tarayabilir ve daha kesin sonuçlar sunabilir.
Devamında gelen 1.5 versiyonunda kaynak kodda kullanılan C kodu artık yerini assembly ve Go’ya bıraktı, garbage collector ise baştan yazıldı bu duruma uygun şekilde.
Diğer dikkate değer gelişmeler 1.7’de on dokuz yeni komut kümesi eklendi, bu sayede low level alandaki etkinliği arttı, bir sonraki versiyonda ise sekiz adet komut kümesi eklendi. Go dili gittikçe artan bu komut kümeleri ile işlemci üzerindeki etkinliği sayesinde sistem programlama konusunda güçlendi.
1.10 ile işlemcilerdeki SSE2, SSE3, SSSE3 düşük seviyeli komut kümelerinden üç yüz elli dokuz adeti eklendi. 1.11 versiyonu ile Windows xp ve Vista desteğini çekmiş bulunmakla birlikte, deneysel olarak WebAssembly uyarlamasını kullanıma sundu.
Dilin Özellikleri
Tasarım olarak C dilinin etkisi mevcut olmakla birlikte, sabitlik ve güvenlik gelişmelere sahip. Yazım kuralları ve bunların kullanımı dinamik dillere benzemektedir. Yazım tarzında C benzeri bir politika güdülse de okunabilirlik çok önemli bir yer tutmaktadır.
Bir yorum bırakınız...