Go
Paylaş:
Bu sorular yalnızca Go'yu üç ana programlama dilinden biri olarak seçen katılımcılara gösterildi.
Verimliliği ve hızı, eşzamanlılık özellikleri, güçlü standart kitaplığı, basitliği ve okunabilirliğiyle öne çıkan Go, kesinlikle üretime hazır bir dil ve Go'yu iş için kullanan geliştiricilerin payının artması şaşırtıcı değil. Go; Google, Dropbox, Microsoft, PayPal, Netflix ve diğerleri dahil olmak üzere birçok büyük şirket tarafından üretim için kullanılıyor.
Bu veriler, Go ekibi tarafından yürütülen anketlerde gördüklerimizle neredeyse tutarlıdır. Go'ya genellikle "bulut dili" denir çünkü bulutta yerel uygulamalar ve DevOps araçları oluşturmak için yaygın olarak kullanılır. Bu, Go geliştiricileri arasında Linux ve macOS'un popülerliğini açıklıyor.
Go geliştiricilerinin yalnızca 1/3'ü tek seferde tek bir projeyle çalışıyor, geri kalan kesim eş zamanlı olarak birden çok projeyle çalışıyor.
Go, geriye dönük uyumluluk açısından harikadır, ancak bazı kullanıcılar hâlâ aynı anda birkaç sürüm çalıştırıyor. Kullanım örneklerinden biri, geliştiricilerin regresyonları yakalamak ve diğer sorunları tespit etmek için CI'larını Go'nun iki veya üç farklı sürümüyle çalışacak şekilde ayarlamasıdır.
Html/şablonun en üst sırayı alması mantıklı. Bu paket, kullanıcı tarafından oluşturulan veriler gibi potansiyel olarak tehlikeli içeriklerden otomatik olarak kaçınır ve kod yerleştirme saldırılarından kaçınmanıza yardımcı olur.
Kısa süre önce yapılan Go anketine göre, Go geliştiricilerinin %37'si web siteleri ve web hizmetleri oluşturmak için Go'yu kullanıyor. Bu veriler, neden bu kadar çok geliştiricinin aynı projede JavaScript, TypeScript ve Go kullandığını açıklıyor.
Python'un yüksek sıralaması muhtemelen birçok Python projesinin Go'ya geçme eğiliminden kaynaklanıyor. Geliştiriciler Python'da yazılmış bir projeye yeni hizmetler eklemeye karar verirken genellikle verimliliği, eşzamanlılık desteği ve ağ oluşturma ve web hizmetlerinde güçlü performansıyla bilinen Go'yu tercih ediyor. Bu yaklaşımın dezavantajları vardır, ancak geliştiricilerin kod tabanlarını yeniden yazmasına gerek kalmamasını sağlar.
GoLand'in, JavaScript ve TypeScript için destek sağladığını göz önünde bulundurun. Ayrıca Python Community Edition eklentisini yükleyebilir ve Python desteğinden yararlanabilirsiniz.
Çalışma alanı modu Go 1.18'de tanıtıldı ve geliştiricilerin her modül için go.mod dosyalarını düzenlemeye gerek kalmadan aynı anda birden fazla modül üzerinde çalışmasına olanak tanıdı. Go çalışma alanlarıyla, go.work dosyasını kullanarak tüm bağımlılıkları kontrol edebilirsiniz.
Geçen yıl olduğu gibi, Gin çerçevesi web geliştirme için en popüler çözüm olmaya devam ediyor, standart kitaplıktaki net/http paketi ise yerini koruyor. Gin ve net/http arasındaki farkları daha iyi anlamak için Go REST Kılavuzumuza göz atın.
Go'da, sağlayıcı dizinine taşımak belirli bir proje için gereken bağımlılıkların kendi yerel kopyalarını oluşturma ve bu kopyaları dosya yapınıza dâhil etme uygulamasıdır. Böylece, projenizin bir uygulama oluşturmak için gerekli tüm kodu içerdiğinden emin olabilirsiniz ve harici kaynaklardan bağımlılık indirmeye bağlı kalmak zorunda kalmazsınız.
Çoğu yaklaşım gibi, sağlayıcı dizinine taşımanın da bazı dezavantajları vardır. Bazı geliştiriciler, sağlayıcı dizinine taşımanın kod deposunu daha az şeffaf hâle getirdiğini ve değişikliklerin incelenmesini zorlaştırdığını düşünüyor. Go modülleri, bağımlılıkları önbelleğe alan ve doğru paket sürümünün her zaman kullanılabilir olmasını sağlayan Go proxy gibi özellikler sayesinde geliştiricilerin sağlayıcı dizinine kaydetme pratiğinden uzaklaşmasına yardımcı olur.
Standart kitaplık popüler yönlendiriciler olan gorilla/mux ve go-chi/chi'yi hâlâ geride bırakıyor. Gorilla/mux ile standart kitaplık arasındaki farkları daha iyi anlamak için Go REST Kılavuzu'na başvurabilirsiniz.
Go geliştiricileri çok uzun süredir eşdeğerler için destek istiyor ve bu destek sonunda Go 1.18'e Mart 2022'de eklendi. Yaklaşık bir yıl sonra, Go geliştiricilerinin %80'inden fazlası eşdeğerleri kullanıyor veya denemiş durumda.
TinyGo, yerleşik sistemler veya WebAssembly için küçük ve verimli programlar geliştirmeniz gerektiğinde mükemmel sonuçlar verir. Bu anketin gösterdiği gibi, TinyGo aynı zamanda CLI'ler oluşturmak için de kullanılıyor. Go'nun harika bir standart kitaplığı olmasına rağmen yalnızca temel görevleri gerçekleştiren bir CLI oluşturuyorsanız Go'nun gücüne ihtiyacınız olmayabilir. Bu durumda, CLI'nizi basit ve kullanıma özel olarak geliştirmenize olanak tanır.
Zaman ayırdığınız için teşekkür ederiz!
Raporumuzu faydalı bulduğunuzu umuyoruz. Bu raporu arkadaşlarınızla ve meslektaşlarınızla paylaşın.
Herhangi bir soru ya da öneriniz varsa lütfen bizimle surveys@jetbrains.com adresinden iletişime geçin.