Go'yu neden öğrenmelisiniz?

Go'yu neden öğrenmelisiniz?
Resim kaynağı

Go nispeten genç ama popüler bir programlama dilidir. İle anket verisi Stack Overflow, geliştiricilerin ustalaşmak istediği programlama dilleri sıralamasında üçüncü sırayı alan Golang'dı. Bu yazıda Go'nun popülaritesinin nedenlerini anlamaya çalışacağız, ayrıca bu dilin nerede kullanıldığına ve neden öğrenmeye değer olduğuna da bakacağız.

Biraz tarih

Go programlama dili Google tarafından oluşturuldu. Aslında tam adı Golang, “Google dili”nin bir türevidir. Duyuruda dil genç olarak adlandırılsa da bu yıl on yaşına giriyor.

Go'nun yaratıcılarının hedefi, kaliteli yazılım oluşturmak için kullanılabilecek basit ve etkili bir programlama dili geliştirmekti. Go'nun yaratıcılarından Rob Pike, Go'nun şirketin nispeten yeni mezun olan ve Java, C, C++ veya Python bilen programcıları için tasarlandığını söyledi. Onlar için Go, çabuk anlayabileceğiniz ve alışabileceğiniz bir dildir.

Başlangıçta Google bünyesinde bir araçtı ancak zamanla şirketin derinliklerinden ortaya çıktı ve kamuoyunun bilgisi haline geldi.

Dilin avantajları

Golang'ın hem iyi bilinen hem de pek bilinmeyen çok sayıda avantajı vardır.

Sadelik. Aslında dili yaratmanın asıl amacı buydu ve başarıldı. Go'nun oldukça basit bir söz dizimi vardır (belli varsayımlarla birlikte), böylece uygulamalar diğer bazı dillere göre daha hızlı geliştirilebilir. Ve burada iki ilginç nokta var.

İlk olarak Golang, programlamaya yeni başlayan biri tarafından (hiç dil bilmeyen ve sadece geliştirici olmayı planlayan biri) oldukça hızlı bir şekilde öğrenilebilir. Go'nun neredeyse PHP ve hatta Pascal kadar basit (göreceli olarak elbette) ama aynı zamanda C++ kadar güçlü olduğu söylenebilir.

İkinci olarak Go, bir veya daha fazla dili zaten bilen bir "ileri düzey programcı" tarafından öğrenilebilir. Çoğu zaman geliştiriciler Python veya PHP'de uzmanlaştıktan sonra Go'yu öğrenirler. Daha sonra, bazı programcılar Python/Go veya PHP/Go çiftini başarıyla kullanıyor.

Çok sayıda kütüphane. Go'da bir özellik eksikse birçok kütüphaneden birini kullanabilir ve gerekli görevi gerçekleştirebilirsiniz. Go'nun başka bir avantajı daha var; C kütüphaneleriyle kolayca etkileşim kurabilirsiniz. Go kitaplıklarının C kitaplıkları için sarmalayıcı olduğu yönünde bir görüş bile var.

Kod temizliği. Go derleyicisi kodunuzu "temiz" tutmanıza olanak tanır. Örneğin kullanılmayan değişkenler derleme hatası olarak kabul edilir. Go çoğu biçimlendirme sorununu çözer. Bu, örneğin kaydederken veya derlerken gofmt programı kullanılarak yapılır. Biçimlendirme otomatik olarak düzeltilir. Tüm bunlar hakkında daha fazla bilgiyi eğitimde öğrenebilirsiniz. Etkili.

Statik yazma. Go'nun bir diğer avantajı da geliştiricinin hata yapma olasılığını azaltmasıdır. Evet, dinamik yazmaya alışkın bir programcı ilk birkaç gün, her değişken ve işlev için olduğu kadar diğer her şey için de bir tür bildirmek zorunda kaldığında sinirlenir. Ancak daha sonra burada pek çok avantajın olduğu anlaşılıyor.

GoDoc. Kodu belgelemeyi büyük ölçüde kolaylaştıran bir yardımcı program. GoDoc'un en büyük avantajı JavaDoc, PHPDoc veya JSDoc gibi ek dilleri kullanmamasıdır. Yardımcı program, belgelenen koddan çıkardığı maksimum miktarda bilgiyi kullanır.

Kod bakımı. Basit ve özlü sözdizimi sayesinde bakımı kolaydır. Bütün bunlar Google'ın mirasıdır. Şirketin çeşitli yazılım ürünleri için çok büyük miktarda kodu ve bunları çözen onbinlerce geliştiricisi olduğundan, bir bakım sorunu ortaya çıkıyor. Kod, üzerinde çalışan herkes için anlaşılır, iyi belgelenmiş ve özlü olmalıdır. Bütün bunlar Go ile mümkün.

Aynı zamanda Golang'da sınıf yoktur (yapılar, yapılar vardır) ve miras desteği yoktur, bu da kodu değiştirmeyi çok daha kolaylaştırır. Ayrıca hiçbir istisna, ek açıklama vb. yoktur.

Go'da ne yazabilirsiniz?

Bazı noktalar dışında neredeyse her şey (örneğin, makine öğrenimiyle ilgili gelişmeler - C/C++ ve CUDA'da düşük seviyeli optimizasyonlara sahip Python burada daha uygundur).

Geriye kalan her şey yazılabilir; bu özellikle web hizmetleriyle ilgili olarak geçerlidir. Ayrıca Go, hem son kullanıcı için hem de arka plan programları, kullanıcı arayüzü geliştirmek için uygulamalar geliştirmeye değerdir ve platformlar arası uygulamalar ve hizmetler için uygundur.

Golang'a talep

Go'yu neden öğrenmelisiniz?
Zamanla dil giderek daha popüler hale gelir. Yukarıdaki resimde yer alan şirketlerin yanı sıra Mail.ru Group, Avito, Ozon, Lamoda, BBC, Canonical ve diğerleri Golang ile çalışıyor.

“İşi ölçeklendirmeye karar verdik; ürünün hızlı bir şekilde gelişmesini sağlayacak temelde yeni bir teknolojik platform oluşturmak bizim için önemli. Hızı, güvenilirliği ve en önemlisi onu kullanan programcı kitlesi nedeniyle Go'ya güveniyoruz” dedi Ozon temsilcileri, şirketin 2018'de Golang'a geçmeye karar vermesinin ardından.

Peki ya gelir?Geçen yıl bir Go geliştiricisinin maaşı ortalama 60-140 bin ruble idi. Göre "Benim Çevrem" 2017 yılıyla karşılaştırıldığında bu rakam %8,3 arttı. Pek çok şirketin Golang geliştiricilerine ihtiyacı olduğundan büyümenin 2019'da da devam etmesi muhtemel.

Sırada ne var?

Golang'ın gelişimi kesinlikle durmayacak. Bu dili bilen iyi uzmanlara olan ihtiyaç daha da artacak, dolayısıyla bir uzmanın (yeni başlayan veya profesyonel) iş bulması zor olmayacak. Prensip olarak, BT pazarında sürekli bir geliştirici sıkıntısı olduğu için bu açıklama bugün hala geçerlidir.

Go, hem yeni başlayan programcılar hem de bir veya daha fazla programlama dilini zaten bilen profesyoneller için iyidir. Hemen hemen her programcı bunu öğrenebilir veya yeniden öğrenebilir.

Makale öğretmenle ortak hazırlandı Golang kursu Sergei Kruchinin tarafından GeekBrains'te, bunun için kendisine çok teşekkürler!

Kaynak: habr.com

Yorum ekle