C#

Paylaş:

C# soruları yalnızca C#'i üç ana programlama dilinden biri olarak seçen geliştiricilere gösterildi.

Düzenli olarak hangi C# sürümlerini kullanıyorsunuz?

50%

C# 10 (dosya kapsamlı ad alanları, global kullanımlar, kayıt yapıları, genişletilmiş özellik kalıpları)

32%

30%

C# 9 (kayıtlar, hedef tipli yeni, üst seviye ifadeler)

33%

50%

C# 8 (statik yerel işlevler, boş giriş yapılabilir referans türleri, varsayılan arayüz yöntemleri)

24%

39%

C# 7 (kalıp eşleştirme, yerel işlevler, ref yerel ve geri dönüş, dış değişkenler)

16%

27%

C# 6 (? ve nameof operatörleri, statik içe aktarma, istisna filtreleri, Roslyn)

5%

27%

C# 5 (async / await, arayan bilgisi öznitelikleri)

2%

5%

Daha eski bir sürüm

10%

12%

Emin değilim

.NET Framework'ten .NET'e geçişin genellikle hedefi değiştirmek kadar kolay olmadığı göz önünde bulundurulduğunda çoğu geliştiricinin .NET (Core) eğitiminde olması oldukça ilginç. Ayrıca, geliştiricilerin önemli bir yüzdesinin de .NET Framework 4.6 ya da daha eski sürümleri hedefleyen projelerde çalışmaya devam etmesi de şaşırtıcı. Bu projelerin 4.8 sürümüne taşınmasına neyin engel olduğunu merak ediyorum.

Dennis Dietrich

Kıdemli Yazılım Mühendisi, Azure Storage, Microsoft

Daha fazla sayıda geliştiricinin en yeni C# sürümünü kullandığını görmek bence iyiye işaret. Geliştiricilerin daha fazla eski uygulamayı en yeni .NET sürümüne geçirmeyi mi tercih edeceklerini yoksa eski kodu bırakıp yeni uygulamalar ve sistemler mi geliştireceklerini merak ediyorum.

Chris Woodruff

Ekip Lideri, Mühendislik, Rocket Homes

.NET projenizde hangi programlama dillerini kullanıyorsunuz?

99%

C#

30%

HTML/CSS

26%

JavaScript

18%

TypeScript

6%

VB.NET

3%

F#

1%

Diğer

C#, .NET geliştiricileri için tartışmasız en çok tercih edilen dil. VB.NET ve F# de kullanılıyor, ancak daha çok C# ve JS ve TS gibi ön uç dilleri tercih ediliyor.

Maarten Balliauw

Geliştirici Danışmanı, JetBrains

Hangi çalışma zamanlarını düzenli olarak kullanıyorsunuz?

49%

62%

.NET Framework

47%

.NET 6

43%

66%

.NET Core

24%

33%

.NET 5

10%

12%

Mono

5%

Emin değilim

C# geliştiricileri geçen yıla kıyasla .NET Framework ve .NET Core'u önemli ölçüde daha az kullanıyor (sırayla %13 ve %23 daha az).

.NET Framework henüz kullanımdan kaldırılmadı. Daha güncel .NET sürümlerini kullanmaya başlayan geliştiriciler, neredeyse tüm çerçeveyle eşit düzeyde, ikinci sırada gelen .NET 6 ile LTS sürümlerini kullanıyor gibi görünüyor.

Maarten Balliauw

Geliştirici Danışmanı, JetBrains

Hangi teknolojileri / çerçeveleri kullanıyorsunuz?

56%

55%

ASP.NET Core

41%

42%

Entity Framework

25%

20%

Azure

24%

28%

Windows Forms

22%

19%

Unity

ASP.NET, Entity Framework ve Azure'un en sık kullanılan 3 teknoloji arasında yer alması şaşırtıcı değil. Üstelik, "eski" teknolojilerden bazılarının kullanımının azaldığı görmek de olumlu bir durum.

Joe Guadagno

Kıdemli Yönetici, Teknoloji, Rocket Mortgage

C# ile yazılım geliştirmek için en çok hangi IDE'yi / düzenleyiciyi kullanıyorsunuz?

54%

62%

65%

Visual Studio

33%

27%

20%

JetBrains Rider

10%

9%

11%

Visual Studio Code

2%

2%

2%

Visual Studio for Mac

1%

1%

0%

Diğer

Geçen 3 yıl boyunca, JetBrains Rider kullanımı C# geliştiricileri arasında %20'den %33'e yükseldi.

Kendi ekibimdeki genel durumla karşılaştırdığımda Rider'ın benimsenme hızına şaşırmadım. Geçen yılın başında ekibimin yarısı Rider'ı kullanmaya başlamıştı, bugün ise tüm ekip Rider'ı kullanıyor.

Laurent Kempé

Ekip Lideri ve Özel Çözüm Mimarı, Innoveo

Visual Studio ile hangi eklentileri kullanıyorsunuz?

36%

ReSharper

8%

CodeMaid

5%

Visual Assist

5%

ReSharper C++

4%

AWS Toolkit for Visual Studio

4%

Roslynator

3%

PostSharp

2%

CodeRush

5%

Diğer

47%

Hiçbiri

Katılımcıların neredeyse yarısının Visual Studio'nun temel ve kullanıma hazır halini kullanmaları garip bir durum. Eklentiler, üretkenlik ve işlevsellik açısından elde edilebilecek çok sayıda avantaj sunuyor.

Joe Guadagno

Kıdemli Yönetici, Teknoloji, Rocket Mortgage

Visual Studio Code için hangi eklentileri kullanıyorsunuz?

66%

C# Eklentileri

55%

Visual Studio Code için C#

34%

Unity Araçları

33%

.NET Core Tools

23%

NuGet Package Manager

19%

ESLint

17%

TODO Highlight

C# geliştirme ortamınız hangi işletim sistemini kullanıyor?

80%

Windows

34%

macOS

18%

Linux

macOS ve Linux kullanan C# geliştiricilerin sayısı benim için biraz şaşırtıcı oldu. Linux için, WSL'ye göre normal Linux (sanal) makinelerin kullanım oranını incelemek de ilginç olurdu.

Dennis Dietrich

Kıdemli Yazılım Mühendisi, Azure Storage, Microsoft

Hangi birim testi çerçevelerini düzenli olarak kullanıyorsunuz?

39%

37%

xUnit

38%

37%

NUnit

14%

19%

MSTest/Visual Studio Unit Testing Framework

9%

8%

MSTest V2

Daha önce yazılım test uzmanı (SDET) olarak çalışmış bir geliştirici olarak, birim testi yazmayan C# geliştiricilerinin yüzde oranı beni hayal kırıklığına uğrattı. Bu zamana kadar genel olarak birim testinin avantajları hakkında fikir birliğine varılacağına umut ediyordum. Bu oranın düşük olmasının nedenlerini öğrenmek ilginç olurdu. Geliştiriciler, birim testinin faydalarına inanmıyor mu? Yoksa eğitim konusunda bir eksiklik ya da mühendisler camiasına özel bir durum mu var? Yönetim ekibi, birim testi için gerekli kısa süreli yatırımı faydalı bulmuyor mu?

Dennis Dietrich

Kıdemli Yazılım Mühendisi, Azure Storage, Microsoft

Hangi performans veya tanılama araçlarını düzenli olarak kullanıyorsunuz?

34%

Visual Studio'nun yerleşik performans veya tanılama araçları

20%

dotTrace

17%

dotMemory

13%

Unity Profiler

8%

ReSharper veya Rider'da Dynamic Program Analysis

3%

Windows Performance Toolkit

2%

PerfView

Alanda geçen 20 yılıma dönüp baktığımda ve bireysel deneyimimle buradaki rakamları kıyaslarsam performans analizi ve iyileştirmeler konusunda günümüzde kör bir noktada ilerlediğimiz sonucuna varabilirim. Bu, böyle olmamalı. Birçok açıdan çok fazla gelişme kaydettik. Geçmişte sorunlar bellek ve CPU kaynaklarıyla ilgiliydi, bugün ise pil ömrünün soruna neden olduğu mobil cihazlarda yürütülecek kodlar yazmakla meşgulüz. Ayrıca, işlem kaynaklarının verimsiz kullanımının her ay olması gerekenden fazla binlerce dolar anlamına geldiği bulut çözümleri konusunda da ölçeği genişletmemiz gerekiyor.

Dennis Dietrich

Kıdemli Yazılım Mühendisi, Azure Storage, Microsoft

Genellikle ne kadar sıklıkta profil oluşturma ya da tanı araçları kullanıyorsunuz?

74%

77%

Sorun olduğunda zaman zaman 

19%

15%

Düzenli olarak, sorunları tahmin etmek için günlük/haftalık/sprint'lere göre

6%

8%

Sürekli, devam eden bir arka plan işlemi olarak

1%

0%

Diğer

Geliştiricilerin büyük bir kısmı profil oluşturucuların, sorunun semptomlarını azaltmak yerine performans sorunlarını önlemeye yönelik araçlar olduğunun farkında. Bu görüşteki geliştiricilerin oranı bu yıl artsa da henüz istikrarlı bir trend olduğunu söyleyemeyiz.

Standart profil oluşturma, bileşik faiz fikrine oldukça benzer. Bildiğiniz üzere, emeklilikte olduğu gibi zaman içerisinde düzenli olarak belirli miktarda para biriktirirsiniz ve biriktirdiğiniz para günün sonunda sizin için önemli bir miktara tekabül eder. Aynı durum profil oluşturma için de geçerli. Performansı incelerken ayırdığınız kısa bir süre bile zaman içerisinde istikrarlı ve tutarlı olduğunuz sürece uzun vadede önemli iyileşmeler sağlayabilir. Bu nedenle, büyük bir hedef koyarak çok önemli bir geliştirmeyi tek seferde uygulamayı önceliklendirmeyin. Üzerinde tekrar tekrar çalıştığınız sürece kademeli olarak en mükemmel haline ulaşacaklardır.

Dylan Moonfire

Kıdemli Yazılım Geliştirici, @dmoonfire

Projenizde profil oluşturma veya tanılamadan kim sorumlu?

35%

Ben ve diğer birkaç geliştirici

28%

Yalnızca ben

24%

Projemizdeki her geliştirici

10%

Projedeki hiç kimse

2%

Diğer

Visual Studio ve JetBrains Rider'da geliştirilen yazılım türleri

39%

38%

Web siteleri

37%

35%

Yardımcı programlar (küçük görevler için küçük uygulamalar)

28%

20%

Sistem Yazılımı

25%

18%

Veritabanı / Veri Depolama

JetBrains Rider, oyun geliştirme (Visual Studio'ya göre +%18 puan), eğlence (+%4 puan) ve artırılmış / sanal gerçeklik (+%4 puan) konusunda en çok tercih edilen platform.

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.