Google Go !

Google Go !
Yeni ürün ve hizmet duyuruları ile adını sık sık duyduğumuz, büyük firmaları kendi bünyesine katarak hızla büyüyen Google; Android, Chrome derken şimdi de yeni bir programlama dili ile karşımızda. Robert Griesemer, Ken Thompson ve Rob Pike’ın 2007′nin sonlarına doğru geliştirmeye başladıkları Go dili 2008′in ortalarına doğru bir şekil almaya başlamış. Bu yazıda Go dilinin özelliklerinden, yeniliklerden çalışma prensibinden bahsedip bir kaç küçük kod örneğide vereceğim.

Neden çıktı bu Go ?
Go’nun kendi sitesindeki bilgilere göre:  makinelerin hızlarındaki gelişim yavaşlarken, yazılımların hızla gelişmesi.  Google bu işin geleceğini düşünüp, eğer yeni bir şeyler yapılmazsa, yazılımların git gite daha yavaş çalışacağını söylüyor. Buna ek olarak bir yazılım geliştirme sürecinin gerçekten uzun bir süreç olduğundan bahsediyor. Bütün bunların önüne geçmek için daha hızlı ve eğlenceli Go’yu karşımıza çıkarmış.

Go’nun özellikleri
Go’nun en büyük hedeflerinden biri static-type bir dilin verimliliği ile dynamic-type olan bir dilin kolaylılığı birleştirmek.  Bu yüzden Go için Python ve C++’ın bir karışımı diyebiliriz. Bir de derleme derleme hızını arttırdıklarını söylüyor. Dökümanlarına derleme hızının yavaşlığı anlatan hoş bir karikatürü eklemişler hemen paylaşayım.

Go, C++ gibi derlenen bir dil ve şuan için iki adet derleyicisi var 6g ve gccgo. Hemen şunuda belirtelim ki şu an için Windows altında çalışmıyor. (Geliştirici sayısı az olduğu için Windows desteğini çıkartamamışlar.  Çokta önemli bir özellik değil zaten değil mi ?) Sıkça sorulan sorular sayfasında  “Go nesne yönelimli bir proglama dili midir ?” sorusuna hem evet hemde hayır olarak cevap vermişler.  Birçok nesne yönelimli programlama dilinin özelliklerine sahip iken, tip hiyerarşisine sahip değil. Yine Go’nun kendi sayfasından bir örnek kod.

package main
import fmt “fmt”
func main () {
fmt.Printf(“Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n”); // utf-8 desteğine dikkat : )
}

6g ile derleyelim

6g helloworld.go # compile; object goes into helloworld.6
6l helloworld.6 # link; output goes into 6.out
6.out
Hello, world; or Καλημέρα κόσμε; or こんにちは 世界

gccgo ile derleyelim

gccgo helloworld.go
a.out
Hello, world; or Καλημέρα κόσμε; or こんにちは 世界

Son olarak Go’nun deneme aşamasında olduğunu hatırlatırım. Kim bilir belki ileride okullarımızda Google’ın Go’su öğretilir :) .

Kaynaklar:
golang.org

Ek: Go’nun maskotu http://imgur.com/U8HcM.gif

Onur AKTAS

Bu yazı toplam 40 kere görüntülenmiştir.

0saves
Eğer yazıyı beğendiyseniz lütfen yorum bırakın veya diğer yazılardan haberdar olmak için RSS'e üye olun..

İlgili Yazılar:

Yazar Hakkında


Yazar:

Hakkında / İlgi Alanları: Php, Python, Java, Güvenlik, Algoritmalar, Fotoğraf, Kitap, Sinema
Kategori: Tanıtımlar, October 25th, 2010

Yazarlarımızdan , bu yazı dahil toplam 30 adet yazı yazmış.

Cevap yaz