Go programlama dili, başlangıcından bu yana uzun süredir test edilmektedir. Onlarca Google mühendisinin dahil olduğu projenin ilk meyveleri, 2012 yılında Go'nun kararlı sürümü olarak yayınlanan Go 1.0 ile toplanmaya başlandı. Sunucu taraflı avantajları ve kolay öğrenilebilir özellikleri Go'nun yaygınlaşmasına yardımcı oldu. içinde benimsenmesi kısa bir zaman için.
Adobe, BBC, IBM, Intel ve Medium gibi birçok tanınmış firma Go'dan faydalanarak Go programlama dilini kullanmaya başlamıştır. Peki Google'ın programlama dilini diğer programlama dillerinden farklı kılan ve dev firmaları bu açık kaynak kodlu ve ücretsiz programlama diline yönelten ne oldu? Son 20 yılda donanımda büyük atılımlar görmemize rağmen, son 10 yılın önceki 20 yıla göre daha istikrarlı olduğu konusunda hemfikir olabiliriz. Intel, 3.0 GHz hızında ilk Pentium işlemcisini 200 yılında piyasaya sürdü. 3.0 GHz, günümüzün işlemci mimarileri için hala hız eşiğidir ve bu sınırı aşmak için genellikle daha fazla işlemci çekirdeği gerekir.
Şu anda sunucu tarafı performansını artırmak için iki farklı sorunla karşı karşıyayız; yazılım ve donanım sorunları. Google'ın Go programlama diliyle, bunları bir iş parçacığıyla olabildiğince kolay bir şekilde değiştirebilme avantajına sahibiz. Sunucunuzun veya sisteminizin CPU performansını artırmanız gerekirse yapabileceğiniz birkaç şey var. En önemli yeniliklerden biri de işlemci için daha çok çekirdekli modellerin seçilmesi. Hyperthreading teknolojisine ek olarak, işlemciler için önbellek kullanarak performansı en üst düzeye çıkarabiliriz.
Donanım ve yazılım açısından, bu sorunların çoğu zaman sınırları vardır. Sistem işlemcinizde daha fazla çekirdek kullandığınızda maliyeti yükseltir ve cebinizi büyütürsünüz. Önbellekten aldığınız performans, yalnızca kullandığınız önbelleğin boyutuyla orantılıdır. Önbellek boyutu arttıkça performans düşüşü kaçınılmazdır. Tüm bunların ötesinde Go'yu diğer programlama dillerinden ayıran önemli bir fark vardır. Modern programlama dilleri olarak kabul ettiğimiz dillerin (Java ve Python gibi) 90'lı yıllarda geliştirildiğini ve tek iş parçacıklı işlemler gerçekleştirdiğini görüyoruz. Bu dillere sonradan multithreading desteği eklendi ancak bu destek dillere sonradan eklendi.
Go dili ise 2012 yılında zamanın gereklerinden hareketle sahneye çıkan ve kendisi birden fazla thread ile oluşturulmuş bir programlama dilidir. Google'ın Go programlama dili, tüm bu donanım ve yazılım sorunlarına kendi bünyesinde çözüm üretebilmesi, güvenli ve yüksek performanslı sistemler oluşturulmasına yardımcı olması bakımından diğer dillerden ayrılmaktadır.
Google Go
Google'ın programlama dili olduğu için Google Go olarak anılsa da dilin resmi adı Go programlama dilidir. Geliştiricilerin kafasını karıştırmamak için, Go programlama dili için "Golang" kısaltmasına da rastlayabilirsiniz.
Google'ın Go programlama dilinin geliştirilmesinin arkasında birçok önemli neden vardır. Bunun temel nedeni verimli ve modern bir programlama dili ortaya çıkarmaktır. C ve C gibi programlama dillerinin Java ve Python gibi programlama dillerinden daha verimli olmasının nedeni, bu dilleri derlemek için tercüman kullanılmamasıdır. Örneğin, Java'da yazılan bayt kodu, sanal makineler kullanılarak önce ikili koda dönüştürülür ve ardından işlemciye aktarılır. C ve C gibi, Go da doğrudan derler ve rastgele bir tercüman olmadan donanımla iletişim kurar. Ancak Go C ve C arasında önemli bir fark vardır. Bu dillerde yazılan kodlar insanlar tarafından doğrudan okunamasa da Go'da yazılan kodlar insanların okuması için tasarlanmıştır. Dolayısıyla Go, onunla çalışmayı daha kolay ve daha verimli hale getirir.
Go programlama dilinin özü, dilin tüm gereksiz kısımlarını çıkarmak ve onu yalnızca en kullanışlı işlevlerle donatmaktır. Google'ın ve dolayısıyla Go programlama dilinin bu felsefesi, Go'yu öğrenmeyi çok daha kolay hale getiriyor. Google, Go'yu yalnızca harici ihtiyaçlar için yapmadı. Go'yu önce kendi sunucularında sonra da tüm online dünya için geliştirdi. Google'ın kodu üzerinde onlarca mühendisin çalışabilmesi için kodların anlaşılır olması ve geliştiricilerin yazdığı kodların birbiriyle uyum içinde çalışması gerekiyor. Bu nedenle, Go'nun basit ve kanonik bir sözdizimi vardır. İstenen programlama dilinde bir şey yaratmanın birden fazla yolu olabilir.
Ancak Go söz konusu olduğunda, tek bir gerçek vardır ve bunun dışında hiçbir istisna kabul edilemez. Yani bir kod dosyası yerine onlarca hatta yüzlerce programcı çalışsa bile birbirinin ürettiği kodlar her zaman uyum içinde çalışacaktır. Go programlama dili ile diğer diller arasındaki farklar bununla da sınırlı değil. Go, diğerlerinden farklı olarak "sınıflar" dediğimiz bir sınıf yapısı kullanmaz, her şey paketler halinde oluşturulur. Google Go'da kategoriler yerine "yapılar" görünür. Modern programlama dillerinden bilinen kalıtım desteği, yapıcılar, ek açıklamalar da Go'nun yapısında yer almayan diğer tuhaflıklar.
Google Go programlama dili ile modern ve hızla benimsenen programlama dillerinden daha başarılı işler ortaya çıkarmak için ihtiyacınız olanı hayal etmeniz ve birkaç satır kod yazmanız yeterli. Google'ın desteklediği Go'nun yıldızının her yıl parladığı kesin. Shopify'ın kurucu ortağı Tobias Lütke'nin dediği gibi, "Go, geleceğin sunucu dilidir." İddialarının gerçekçiliğini ancak gelecekte göreceğiz.