Rust

Paylaş:

Bu bölümdeki sorular, Rust'ı kullandıkları dillerden biri olarak seçen geliştiricilere gösterildi.

Rust'ı nasıl kullanıyorsunuz?

Florian Gilcher

Ferrous Systems İdari Yöneticisi

Bu rakamların iyi olduğunu düşünüyorum. Rust gelişiyor, ayrıca burada göreli rakamların aynı kalması hem daha fazla iş hem de bu görevler için işe alınabilecek yeni gelenlerden sağlıklı bir grup olduğu anlamına geliyor. Bu pozisyonlara talip insanlar için önerim: Ne kadar yıllık Rust deneyiminiz olduğunu belirtin ve zaten profesyonel kodlayıcı olan yetenekli amatörler havuzunda yerinizi edinin. Gelişim için sağlıklı bir büyüme var.

Luca Palmieri

Mainmatter Baş Mühendislik Danışmanı

Rust, artan üretim dağıtımları sayısıyla iş yerinde istikrarlı bir gelişme gösteriyor. Aynı zamanda, Rust pozisyonları için de açık pozisyon sayısından önemli ölçüde daha fazla talep var. Geliştiricilerin ilk Rust pozisyonunu kabul etmeyi düşünmeleri ideal olmasa da bu işverenler için harika bir haber: Piyasada her gün Rust ile çalışma fırsatını hızlı bir şekilde kabul edecek çok sayıda yetenek var.

Tim McNamara

Accelerant.dev kurucusu, Rust in Action yazarı

Bu soruya verilen yanıtlar bana Rust topluluğunda dinamik bir denge ve çok çeşitlilik olduğunu gösteriyor.

Rust için ödeme yapabilen Rust geliştiricilerin sayısının arttığını görmek cesaret verici. 2023 ile 2022'yi kıyasladığımızda, yalnızca bir yılda yüzden 11 değişim olduğunu görüyoruz.

Beş kişiden yalnızca birinin iş için Rust kullandığını görmek hayal kırıklığı yaratsa da bu, çok sayıda kişinin dili öğrenmesiyle tutarlı bir veri. İnsanlar dile yeni olduğunda istatistikleri %50'nin üzerine çıkarmak oldukça zor.

İnsanların Rust'ı kendi kişisel ek projeleri için kullanmalarını sağlıklı buluyorum. Bu, kullanıcıların Rust'ı yaratıcı bir araç olarak tercih ettikleri anlamına geliyor.

Ne kadar süredir Rust kullanıyorsunuz?

Tim McNamara

Accelerant.dev kurucusu, Rust in Action yazarı

Yeni programlayıcılara yönelik büyük yönelim, topluluğun giderek büyüdüğünün bir göstergesi.

Topluluktaki liderlerin göz önünde bulundurması gereken noktalardan biri, Rust kullananların %75'inin dilde bir yıldan daha az deneyimi olması.

Ekosistemdeki daha fazla büyük projeler için katılımcıların sayısının arttığını görmeyi umuyorum. Şu anda çok sayıda önemli paketin bakımı yalnızca tek bir geliştiriciyle yürütülüyor.

Luca Palmieri

Mainmatter Baş Mühendislik Danışmanı

Rust'ın tutma oranı çok yüksek: Yedi yıl boyunca üst üste StackOverflow'da en çok sevilen programlama dili olarak seçildi. Bu, Rust öğrenen geliştiricilerin Rust'ı kullanmaya devam etmek istedikleri anlamına geliyor.

Aynı zamanda, yeni geliştiricilerin Rust ekosistemine girişinin de güçlü olduğunu görüyoruz: Katılımcıların yarısından fazlası Rust kullanmaya yeni (<6 ay) başlamış.

Yüksek tutma ve yeni başlayanlar arasında sağlıklı katılımı, bir bütün olarak ekosistem için harika bir haber!

Florian Gilcher

Ferrous Systems İdari Yöneticisi

Bu, özellikle yeni başlayanlar için güzel bir haber. Her ekipte en az 10 yıllık deneyimli bir çalışanın olduğu diğer dillere kıyasla Rust'ı kullanmaya şimdi başlayanların alanda uzman olma şansları yüksek. Rust öğrenmeye başlamak için en doğru zaman şu an!

Projelerinizde Rust ile birlikte hangi programlama dillerini kullanıyorsunuz?

Luca Palmieri

Mainmatter Baş Mühendislik Danışmanı

Katılımcıların yarısından fazlası diğer teknolojilerin yanı sıra Rust kullanarak çok dilli projelerde çalışıyor. Programlama diline bağlı olarak baskın modellerle ilgili varsayımlar yapabiliriz: Rust API ile desteklenen JavaScript/TypeScript ön ucu, yerel uzantılar (Rust+Python), karma dil projeleri (C/C++) ve mikro hizmetler (Go, Python, C#, Java vb.) arasında internet üzerinden etkileşim.

Tim McNamara

Accelerant.dev kurucusu, Rust in Action yazarı

Rust'ın diğer dillerle uyumlu olduğunu görmek harika. Web arka uçları (JS/TS, SQL) ve CLI'lar (shell programlama dilleri) için Rust kullanılmasının etkisini burada görebiliyorum.

Rust'ın JVM dillerini ve daha az ölçüde CLR (C#) ile geliştirilen dilleri genişletmek ya da en azından bunlarla birlikte kullanılması çok ilginç bir bulgu. Ticari amaçlı daha çok benimsendikçe, Rust'ın birden fazla dil derleyen/geliştiren derleme sistemlerinde iyi çalışabilmesi için baskının artacağını düşünüyorum.

Rust'a hangi programlama dilinden geçtiniz?

Florian Gilcher

Ferrous Systems İdari Yöneticisi

Yukarıdaki istatistiklerin özeti yıllar boyunca aynı kalmaya devam ediyor: Rust, yalnızca sistem programlama kitlelerine hitap etmeyen ve çok daha geniş kapsamlı bir dildi ve öyle olmaya devam ediyor!

Tim McNamara

Accelerant.dev kurucusu, Rust in Action yazarı

Harika! "Henüz hiçbir programlama dilinin yerini almadı" yanıtını verenlerin oranı beklediğimden belki 10 kat daha fazla.

Rust'ın daha erişilebilir hâle geldiğini görmek iyiye işaret. Ancak bu, topluluk olarak Rust'ı daha iyi öğretmemiz gerektiğine dair kişisel görüşümü güçlendiriyor.

Rust kodu diğer bölümlerle nasıl etkileşim sağlıyor?

Tim McNamara

Accelerant.dev kurucusu, Rust in Action yazarı

WebAssembly/WASI'nin burada görünmesini bekliyordum, ancak %22 tahmin ettiğimden çok daha yüksek bir oran!

WebAssembly'nin sağladığı birlikte çalışabilirlik modellerini derinlemesine incelemek ilginç olabilir. Bunun, Rust kod tabanlarını rastgele bir dilde yazılmış, kullanıcılar tarafından sağlanan eklentilerle genişletmekle ilgisi olabilir mi? Ya da Rust'ı diğer uygulamalarda çalıştırılan bileşenler yazmak için mi kullanıyoruz? Bunlar dışında, farklı programlama dillerinde yazılan WebAssembly modüllerinden uygulamalar geliştirmek için Spin/Fermyon deneyinin başarısını gözlemliyor olabilir miyiz?

Luca Palmieri

Mainmatter Baş Mühendislik Danışmanı

Web arka uçları için Rust!

FFI kullanan projelerin oranındaki düşüş ilgi çekici.

WebAssembly'nin güçlenmeye devam ettiğini görmeyi sabırsızlıkla bekliyorum. Wasm modülleri, Rust açık kaynak ekosisteminin şu anda oldukça zayıf kaldığı bir alan olan tedarik zinciri saldırılarına karşı güçlü bir bariyer sunuyor.

Florian Gilcher

Ferrous Systems İdari Yöneticisi

Pratikte kullanılan entegrasyon seçeneklerinin çeşitliliği şaşırtıcı. Ayrıca, çoğu projede mutlaka bir entegrasyon bileşeni olduğu göz önünde bulundurulduğunda, Rust'ın diğer sistemlerle geniş entegrasyonunun daha çok ilgi görmesini bekliyorum.

IDE'nizde Rust için hangi eklentileri/yardımcı araçları kullanıyorsunuz?

Tim McNamara

Accelerant.dev kurucusu, Rust in Action yazarı

Buradaki asıl sürpriz çok az ticari seçeneğin olması. Birkaç yıldır Rust desteği sağlama konusunda proaktif olduğu için JetBrains'i tebrik ediyorum.

Florian Gilcher

Ferrous Systems İdari Yöneticisi

Ana iki düzenleyici seçeneğinin daha çok kullanıldığını görmekten memnunum. rust-analyzer, kullanımdan kaldırılan RLS/Racer'dan geriye kalanları da kapsayacak şekilde genişlerken IntelliJ Rust, entegre bir deneyim isteyenlerin varsayılan tercihi olmaya devam ediyor.

Luca Palmieri

Mainmatter Baş Mühendislik Danışmanı

Bir yıl önce rust-analyzer, Rust organizasyonuna katıldı ve iki yıldan uzun süre önce başlayan bir sürecin sonunda "resmî" dil sunucusu olarak RLS'nin yerini resmî olarak aldı. Bu anket, RLS kullanıcı tabanının sonunda rust-analyzer'a geçtiğini doğruluyor, ancak aynı zamanda çarpıcı bir hatırlatma niteliğinde: Alternatifi ne kadar iyi olursa olsun tüm ekosistemi taşımak karmaşık ve yavaş bir süreç olduğu gibi dağıtımın yarattığı baskı ve koordinasyon yükü de ağır.

Rust ile geliştirme için hangi IDE'leri / düzenleyicileri kullanıyorsunuz?

IDE'lerde eksikliğini en çok hissettiğiniz Rust özellikleri neler?

Tim McNamara

Accelerant.dev kurucusu, Rust in Action yazarı

Bu özellik listesine bakmak IDE'den daha fazlasını istememe neden oluyor! Her ne kadar kullanım ömrü görselleştirmesiyle ilgili umutlu olsam da karmaşık durumlarda bunun işe yarayıp yaramayacağını merak ediyorum. Yorumlamayı öğrenmek zorunda kalacağım bir başka mini dil olabilir.

Prosedürsel makroların yüksek puan alması beni oldukça etkiledi. Ne kadar çok insanın kendi prosedürsel makrolarını yazdığını şu ana kadar fark etmemiştim!

JetBrains'in sunabileceklerinden biri de GitHub Codespaces'e benzer bir deneyim olabilir. Fiyatların ne kadar yüksek olduğunu bilsem de buluttaki masaüstünde çalışmayı çok seviyorum.

Luca Palmieri

Mainmatter Baş Mühendislik Danışmanı

Olumlu yönlerinden başlayalım: Katılımcıların üçte biri Rust'taki IDE desteğinin durumundan memnun. Bu önemli bir başarı!

Bununla birlikte, her şey mükemmel değil. Kullanım ömrü gibi Rust'a özel durumlarla ilgili kullanıcılara yardımcı olmak için daha fazlasını yapmamız gerekiyor. Prosedürsel makrolar, devam eden zorluklardan biri: Kullanışlılık açısından karmaşık kod tabanlarında çok yaygın olsa da geniş çapta kullanılırken IDE deneyimini önemli ölçüde olumsuz yönde etkiliyor.

Bu temel dil yapıları birçok yönüyle ele alındığında IDE'lerin daha özel kullanım alanlarına (ör. özel web çerçeveleri için yerleşik destek) göre çeşitlenmesini heyecanla bekliyorum.

Rust'ta derleme yapmak için hangi derleme sistemlerini kullanıyorsunuz?

Tim McNamara

Accelerant.dev kurucusu, Rust in Action yazarı

Katılıcımların %6'sı derlemeleri için hâlâ Make kullanmaya mı devam ediyor?! Bazı insanların eski araçlarını bu kadar sıkı bir şekilde korumaya devam etmeleri hayret verici. Geliştiricilerle ilgili fark ettiğim şeylerden biri, kontrol için güçlü tercihleri olmaları.

Luca Palmieri

Mainmatter Baş Mühendislik Danışmanı

Bu veri şaşırtıcı değil: Konu Rust projeleri olduğunda Cargo birinci sırada yer alıyor.

Rust kodunun hatalarını genellikle nasıl ayıklıyorsunuz?

Luca Palmieri

Mainmatter Baş Mühendislik Danışmanı

Geçen yıla kıyasla tablo pek değişmedi: println! Hata ayıklama, girişlere en düşük bariyere sahip ve katılımcılar arasında önde gelen teknik olmaya devam ediyor. Burada araç eksiğimizin olduğu kesin, ancak bunun hikâyenin tümü olduğunu düşünmüyorum: Eğitim konusunda da eksiklerimiz var. Mevcut hata ayıklama araçlarından nasıl yararlanılacağı konusunda eğitmenler için çok az materyal var.

Tim McNamara

Accelerant.dev kurucusu, Rust in Action yazarı

println kullanmak utanılması gereken bir şey değil! (Kulağa daha anlaşılır gelmesi için hata ayıklama takibi diyebilirsiniz). Bununla birlikte, IDE geliştiricilerin gerçek hata ayıklamayı kullanımı kolay hâle getirmek için çok fazla çaba göstermeleri güzel. Bir programı çalıştırma adımları için bir hata ayıklayıcı kullanmayı öğrenmek, büyük bir üretkenlik artışı sunar.

Florian Gilcher

Ferrous Systems İdari Yöneticisi

Bu sonuç beni hayal kırıklığına uğrattı. Daha iyi hata ayıklama deneyimine erişmek mümkün ve IDE'ler bunun için iyi bir yöntem sunuyor. Ancak, pratik kısmı yıllar boyunca durağan seyrediyor. Bu, "konsolda yayınlama"nın hâlâ en çok tercih edilen seçenek olduğu gerçeğini gösteriyor.

Rust için hangi profil oluşturma araçlarını kullanıyorsunuz?

Luca Palmieri

Mainmatter Baş Mühendislik Danışmanı

Rust projelerinde profil oluşturma aracı kullanan geliştiricilerin sayısında keskin bir artış var!

Bu durum, neredeyse tamamen IDE ile derlenen profil oluşturma aracının kullanım oranındaki artıştan kaynaklanıyor: Güçlü araçları kullanımı kolay hâle getirdiğimizde geliştiriciler de yararlanmaya başlıyor.

Yine de daha çok işimiz var. Üretim ortamlarımızdaki uygulamaların profilini aynı kolaylık düzeyinde oluşturabilmeliyiz, ancak bunun için harika bir geliştirici deneyimi sunmaktan hâlâ çok uzağız.

Florian Gilcher

Ferrous Systems İdari Yöneticisi

Paketlenen profil oluşturma araçlarının göreli popülerliği, kolay erişilebilir olmadığı için profil oluşturulmadığı genel varsayımımı doğruluyor.

Rust ile ne tür projeler geliştiriyorsunuz?

Luca Palmieri

Mainmatter Baş Mühendislik Danışmanı

Anketleri bu yüzden seviyorum. Ham verinin gücüyle baskın söyleme meydan okuyabiliyorlar.

Rust, birçok insanın zihninde "sistem programlama"yı çağrıştırıyor, ancak gerçekte çok daha incelikli: Rust'ın belirli bir kullanım örneği için "gereksiz" veya "çok zor" olduğu söylemine karşın katılımcıların %38'si Rust'ı web geliştirme için kullanıyor. Rust için bunun bir sonraki önemli özel alan olduğuna inanıyorum ve bu görüşün verilerle doğrulandığını görmek ilginç olacak.

Florian Gilcher

Ferrous Systems İdari Yöneticisi

Rust'ta yaşanan büyümenin yanı sıra yerleşik yazılım/IoT ile kullanımının aynı seviyede kaldığını görmekten mutluyum. Bu yılın benim için olumlu sürprizi, Masaüstü uygulamaların kullanım oranının artması. İçinizden gelen sesle eşleşmeyen bir rakam her zaman vardır. Rakamların birbirine oranla çok fazla değişmemesi, belirli bir yönde ilerleyen, nispeten oluşmuş ve istikrarlı bir ekosisteme işaret ediyor.

Tim McNamara

Accelerant.dev kurucusu, Rust in Action yazarı

Geniş proje spektrumunu görmek oldukça heyecan verici. Dille ilgili sevdiğim noktalardan biri, güvenliğinin insanlara daha önce erişilemez olan alanlarda deney yapma güveni vermesi.

Rust projelerinizle hangi platformu hedefliyorsunuz?

Tim McNamara

Accelerant.dev kurucusu, Rust in Action yazarı

Burada böyle bir çeşitlilik olduğunu görmek gerçekten etkileyici. Sunucu tarafı Linux'un %90 üzeri gibi çok daha yüksek bir oranda olmasını beklerdim. Bu oranın, Rust'ı CLI geliştirmek için kullanan çok sayıda kullanıcı olması ve geliştiricilerin büyük bir kısmının hobi amaçlı ve ek projeler için kullandıkları bulgusuyla da örtüştüğünü düşünüyorum.

Yerleşik yazılım geliştiricilerin oranı çok yüksek görünüyor. Yerleşik yazılımı küçük niş bir alan olarak görüyorum, ancak işletim sistemine güvenmeyen ve projeler için Rust kullanan geniş, belirli bir kullanıcı grubu var.

Florian Gilcher

Ferrous Systems İdari Yöneticisi

Bu da beklediğimiz bir sonuçtu. Rust'ın daha muhafazakar kuruluşlar tarafından benimsenmeye devam etmesi Windows'un hedef olarak uygunluğunu artırıyor.

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.