DEV Community

Cover image for Golang Nedir?
Metecan Kaplan for Golang

Posted on • Edited on

Golang Nedir?

Alt Text
Merhaba, bu benim ilk blog yazım ve heyecanla yazıyorum.
Bu ilk yazımda Go programlama dilini ya da kısaca Go'yu ele alacağım.

(Go, Golang, Google Go ya da Go programlama dili olarak da hitap edilir.)

İlk olarak Go ile nasıl tanıştığımdan bahsetmek istiyorum;
2019'un Aralık ayının birinci gününde Antalya'da gerçekleşen Antalya GDG DevFest'19 etkinliğinde, Sayın Ecir Uğur Küçüksille'nin Go dilini ele aldığı sunumu ile tanıma fırsatım oldu.

İlk başta pek ilgilenmesem de yakın zamanda Go'ya olan ilgim epeyce arttı. İlgimin artması ile birlikte öğrendiklerimi paylaşma hevesim de bir o kadar arttığını fark ettim ve şu anda bu satırları yazıyorum.

Lafı uzatmadan konuya giriş yapmak iyi olacaktır. 🙂

Golang nedir?

Golang, İlk olarak Google'ın kendi içerisinde barındırdığı sistemleri daha hızlı, güvenli ve verimli hale getirmek amacıyla Rob Pike, Robert Griesemer ve Ken Thompson tarafından tasarlanan, açık kaynak ve statik tipli yazılan bir programlama dilidir.

Go, 2007 yılında bu 3 başarılı mühendis tarafından tasarlanmaya başlandı ve 2009 yılında ilk versiyonu piyasaya sürüldü.

Google'ın hedefi diğer dillerdeki en iyi yönleri alıp, sorunlu yanlarını çözümleyip tek dilde birleştirmekti ve kısmen bunu başardı.

Bir çok şirket alt sistemleri için Go'yu tercih ediyor fakat bu Go'nun sadece alt sistemler için kullanıldığı anlamına gelmiyor.

Go, içerisinde 25 anahtar sözcük(keyword) bulunduruyor ve bu da dili sade kılıyor.

Dilin yakın zamanda bu kadar popüler olmasının etmenlerinden biri de maskotu olan Gopher isimli sevimli sincap kesinlikle. Ayrıca Go dilini kullanan geliştiricilere de Gopher denmekte.

Pekala Go hakkında bir kaç şey biliyoruz peki neden tercih etmelisiniz?

Go'yu neden tercih etmelisiniz?.

  • Go size C dilinde elde ettiğiniz performansa çok yakın bir performans sağlar.
  • Go eşzamanlı çalışmayı doğal olarak destekleyen bir dildir.
  • Geriye yönelik bir dildir yani Go'nun ilk sürümünde yazılmış bir program'ı başka sürümlerde de sorunsuz çalıştırabileceğiniz anlamına geliyor.
  • Az vakitte çok iş teriminin karşılığını verir. Bu şu anlama gelir; Go yorumlanabilir dilden ziyade derlenebilir bir dil olduğundan, sanal makinelere ihtiyaç duymadan direkt olarak doğal makine diline çevrilir bu da size zaman kazandırır.
  • Go esnek bir dildir, size bir çok alanda ürün çıkarmanıza olanak sağlar. Go ile sistem ve ağ programlama, makine öğrenmesi, big data(büyük veri), web, mobil, CLI ve masaüstü alanlarında ürün çıkarabilirsiniz. (Go bahsettiklerimin bir kaçını kendi içerisinde bulundurmasa da yazdığım tüm alanlarda ürün çıkarmanız mümkün)
  • Go, ayrılan belleğin düzgünce yönetimini sağlar.
  • Kendi çöp toplayıcısına sahiptir. (Garbage Collector ya da GO GC)

Go en çok hangi kısımlar için tercih ediliyor?

  • Ölçeklenebilir, yüksek performanslı uygulamalar için.
  • Web alanında Back-End (Arka uç) kısmı için.
  • Bir çok medya şirketi içerisindeki ağır yükleri azaltmak için (Netflix, YouTube, SoundCloud vb.).
  • Dahili analiz hizmetleri için.
  • Cloud Computing(Bulut bilişim) için.

ve daha fazla alanlarda kullanılmakta.

Go kullanan şirketler

  • Google
  • Uber
  • Medium
  • Trendyol
  • SoundCloud
  • Dropbox
  • Netflix
  • YouTube
  • Peak Games

daha fazlasını Go'nun GitHub sayfasındaki GoUsers bölümünde bulabilirsiniz.

Go hakkındaki kişisel görüşüm

Go benim için ideal bir dil, kullandığım dillere nazaran Go'ya daha fazla ısındım, benim için aileden biri gibi. Go dilinin rahat ve kolay kullanımı da beni kendisine çekti diyebilirim. Henüz ciddi işler için kullanmasam da kullanacağım kesinlik kazandı.

Kısaca artık ben de bir Gopher'ım. 😊

Bu yazımda eksik, hatalı veya sorunlu kısımlar fark ettiyseniz bana kişisel sitemden ulaşabilirsiniz.

Kaynakçalar

Top comments (3)

Collapse
 
sonergonul profile image
Soner Gönül • Edited

Selamlar,

Ken Thompson'ın yazdığı, "The Go Programming Language" kitabı gayet iyi gerçekten bu arada tavsiye ederim, ben de Codecademy içerisindeki Go eğitimini tamamlamıştım bu arada, ilginizi çekebilir.

youtube.com/watch?v=EKK8DuNXBsA&li...

Collapse
 
metecan profile image
Metecan Kaplan

Kanalınızı ilk LeetCode videolarınızı paylaştığınız zamandan beri takip ediyorum. İçeriklerinizi ilgi çekici buluyorum, gerçekten farklı bir kalitede içerik üretiyorsunuz.

Collapse
 
sonergonul profile image
Soner Gönül

Çok teşekkürler :)