11.11.2009

Google'ın Programlama Dili

Sektörün vazgeçilmez oyunlarından bir yenisi ile daha karşı karşıyayız. Google'ın 2 yıldır üzerinde yoğun bir biçimde çalıştığı programlama dili "Go" geçtiğimiz haftalarda "IDG News" servisi tarafından haber yapıldı...

Google, bu yeni programlama dilini insanlığa kavuşturmanın eşiğinde. Şuanda bu programlama dili olarak "Go" kelimesini tercih etmişler. Google, bu dil ile; kodlamadaki karmaşıklığı azaltarak, performanstan ödün vermeden kolayca yeni uygulamalar yaratmaya ortam hazırlamak istiyor.

 




Google yazılım mühendisi Rob Pike'ın konuşmasından bir alıntı; "Biz Go'yu icad ettik, çünkü son 10 yılda ve bundan sonrada bir program oluşturmanın ne kadar zor olduğunu biliyoruz..."

Şuanda küçük bir araştırma yaptığım kadarıyla; bu programlama dili doğal olarak linux bazlı işletim sistemlerine ve MacOs'in belirli versiyonlarında çalışacak( aslında şuan released konumda ). Ve Google, bu programlama dilini açık kaynak haline getirerek, open source topluluklarından da yardım almayı planlıyor.

Programlama dili "Go"nun içine düşmeden önce;
Gelelim yarattığı/yaratacağı olaylara;
Google, bu büyük hamlesi ile "tekelleşme" yarışından düşmeyecek. Ve diğer yandan, Chrome browser'a, Android mobile işletim sistemine ve henüz piyasada söylenti halinde dolaşan Google chrome işletim sistemine de bu programlama dili ile destek sağlayacak. Aslında bir şirketin, Microsoft-Apple-IBM gibi büyük firmalarla nasıl başetmeye çalıştığını görüyoruz. Önce arama motoru, sonra can alıcı uygulamalar( iGoogle, GoogleVideo, Google Maps, Google Earth, Google Chrome tarayıcı, Mobil işletim sistemi Android ) ve tahmin ediyorum ki; pc'leri tek tek ele geçirmeye çalışacak Google Chrome işletim sistemi. Bu yüzden, gayretleri ve ücretsiz servislerini devam ettirme çabalarını da ayakta alkışlıyorum...

Dönelim Google Programlama Dili Go'ya;
Go programlama dili anasayfası;
http://golang.org/

Basit bir kod parçası olarakta, klasik Hello World;

01 package main
02 import fmt "fmt" // Package implementing formatted I/O.
03 func main() {
04 fmt.Printf("HelloWorld; or Καλημέρα κόσμε; or こんにちは 世界\n");
05 }


Biraz inceleyelim;
1.satır ana paket yerine;
2.satır import komutu ile input/output fonksiyonlarını çağırıyoruz. fmt.Printf yaptığımızda Print'in çalışması için. Tabi bu kısım bize C'yi andırıyor. Print değilde Printf =) Hello world'ten sonra gelen yazılarda "UTF-8"e destek verdiğini görüyoruz. Yani bir satır(string), her dilde olabilir. Güzel bir özellik. Aynı şekilde Go'da, parantezlemelerin kullanımıda, bize her dilin nerdeyse ortak işaretlerinin bu dile de yansıdığını görüyoruz.

Genel olarak program-kod iskeletlere bakınca;
Go dili: python + (C++)
gibi duruyor.Ayrıca Java, C# gibi dillerde "paket" include/import ettiğimizi görüyoruz. Aynı şekilde "."lı kullanımlarda bize bunu çağırıştırıyor. Diğer yandan daha ileri kodlara baktığımızda, C'den esinlenmişler. Compile edilirkende linux batch komutları da her yerde başgöstermiş. Yani çok genel olarak bakarsak; java + c = go diyelim.[ Tabiki, bu iş o kadar kolay değil de :) ] 

Eğer bir open source fanatiği iseniz ve Google hayatınız ise;
Go programlama dili anasayfasını ziyaret ederek, bu dilde ilerleyebilirsiniz.

Doğrusu, sayfadan sıralama algorithması gibi kodlara baktığımda, içim ısınmadı değil. Zevkli olacağına benziyor. Ama çığır açacağını da söyleyemem. Bırakalım, bunu bize zaman göstersin...

Saygılarımla,
Orkan ARIKAN

1 yorum:

  1. bence yeni bir dil demek şimdiye kadar olan dillerdeki tüm eksikliklerin gireilmiş ve en etkileşimli halde yazılımın icra edilmesi demektir bu dil ile tüm yazılım dillerinde yapamadıklarımızı yapabilirsen (basit şekilde) tercih edilmesi zaman almayıp oldukça hızlı yayılacaktır.

    YanıtlaSil

 
back to top