Nietzsche says "God is dead" God says "Nietzsche is dead "
Header image

Google Go !

Posted by ALonon in Google

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

http://www.alonon.net

Related posts

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Leave a Reply