Geliştiriciler için en popüler programlama dilleri hangileridir? En çok hangi çerçeveler, paketler, işlevler ve yöntemler soruldu? Kullanması en zahmetli veri türü hangisidir? Programlama dilleri arasındaki problemlerdeki farklar nelerdir? Bu makale, çeşitli geliştirme alanlarındaki milyonlarca farklı sorunu özetler, en popüler 11 programlama dilini seçer ve en kapsamlı yorumu gerçekleştirir.
Yazar | Nick Roberts
Tercüman | Hilal Ay
Baş Editör | Guo Rui
Üretildi | CSDN (ID: CSDNnews)
Aşağıdaki çeviridir:
2008'deki başlangıcından bu yana, Stack Overflow geliştiricileri her alanda kurtarmaya adamıştır. Şimdiye kadar geliştiriciler sitedeki çeşitli geliştirme alanlarında milyonlarca farklı soru sordular. Ancak geliştiricilerin Stack Overflow'a yönelmesine ne sebep oldu?
En popüler 11 programlama dilini (Stack Overflow'da işaretlenen sıklığa göre) seçtik ve bu konulardaki bazı ortak yönleri ve farklılıkları ortaya çıkarmak için bir çalışma yürüttük.
Konuya girmeden önce, aşağıdaki şekilde gösterildiği gibi seçtiğimiz 11 dile bir göz atalım.
Soru sayısı açısından JavaScript, Stack Overflow kurulduğundan beri geliştiriciler tarafından en sık sorulan dil olmuştur. Bunun nedeni, JavaScripts'in birçok farklı uygulama ve hizmet tarafından benimsenmesi olabilir.İnternete dahilseniz, biraz JavaScript anlamanız gerekir.
Ancak JavaScript genel olarak ilk sırada yer alsa da, verileri zamana böldüğümüzde yeni bir kral göreceğiz.
2011'de "Harvard Business Review" veri bilimcilerini "21. yüzyılın en seksi işi" olarak adlandırdı. O andan itibaren, veri bilimcilerin dili Python giderek daha popüler hale geliyor ... 2019'a kadar, programlama dili olarak JavaScript'in yerine StackOverflows'taki en çok soruyu getirdi.
Python hızla en popüler programlama dili haline geldi ve aynı zamanda diğer dillere kıyasla Python'da çalışan programcıların daha büyük yüzdesine bağlı olabilir!
Peki bu geliştiriciler ne tür sorular ortaya attı? En çok hangi çerçeveler, paketler, işlevler ve yöntemler soruldu? Kullanması en zahmetli veri türü hangisidir? Programlama dilleri arasındaki problemlerdeki farklar nelerdir?
Bu sorunları netleştirmek için aşağıdaki analizi yaptık:
Sonuçlar aşağıdaki gibidir.
JavaScript
JavaScript'in 23 yıllık bir geçmişi vardır ve 11 yıldır Stack Overflow'da aktiftir. Bu 11 yılda, "jquery" (yukarıdaki resmin sol ortası) şu ana kadar en çok soru sorulan JavaScript çerçevesidir.
Python
Python aslında JavaScript'ten 6 yıl önce ortaya çıktı. Guido van Rossum bu fikri ilk olarak 1990'ların başlarında önerdi ve veri bilimcileri için tercih edilen dil haline geldi. Bu dilde karşılaşılan en yaygın sorunlar doğal olarak veritabanı işleme kitaplıklarıyla ilgilidir: "pandalar" (solda orta) ve "veri çerçevesi" (merkezin üstünde) bunlardan biridir.
Bununla birlikte, evrensel bir dil olarak Python, birçok farklı teknik alanda uygulamalara sahiptir, bu da web geliştirme çerçevesi "django" nun (yukarıdaki şeklin orta altı) neden bu kadar sık sorulduğunu açıklar.
R dili
R, veri bilimcileri tarafından seçilen ikinci dildir.Python'dan farklı olarak, R neredeyse yalnızca veri analizi için kullanılabilir. Bu nedenle, "dataframe" (yukarıdaki resimde sağ üstte), "datatable" (yukarıdaki resimde sağ üstte) ve "matrix" (yukarıdaki görüntünün ortasında) gibi veri işlemeyle ilgili kavramlar, R dili kullanıcıları için oldukça baş ağrısıdır.
Bazı insanlar veri görselleştirme açısından R'nin Python'dan daha iyi olduğunu düşünmesine rağmen, hem Python hem de R mükemmel veri işleme kitaplıklarına sahiptir. Bunu söyledikten sonra, veri görselleştirme kitaplığı "ggplot" (yukarıdaki şeklin ortası), R dilinde açık ara en sık sorulan kavramdır.
Belki Python kullanıcıları matplotlib'in kullanımının daha kolay olduğunu düşünüyor!
Yakut
Ruby, 1990'ların ortalarında ortaya çıktı. Bugün, Ruby'nin ana uygulaması sunucu tarafı çerçeve "raylarında" (yukarıdaki resmin sağ üst kısmında) yatıyor.
C #
C #, Microsoft tarafından 2000 yılında geliştirilen bir programlama dilidir ve esas olarak .NET çerçevesinde (yukarıdaki şeklin sağ tarafında "net") kullanılır.
C ++
C ++ (1985'te başladı), video oyun geliştiricileri için tercih edilen dil haline geldi. Bir 3B video oyununun temel görsel yapı taşı bir çokgendir ve bir çokgenin temel yapı taşı bir "vektör" dür (yukarıda, orta sağda).
Java
Java (1995'ten başlayarak) ortak bir amaç için oluşturuldu: "bir kez yaz, her yerde çalıştır." 1990'ların sonunda ve World Wide Web'in ilk günlerindeki PC patlaması Java ile popüler hale geldi ve aynı zamanda birçok Windows uygulamasının arkasındaki itici güç oldu.
Bununla birlikte, yakın zamanda Java, "Android" uygulama geliştirmesinde (sağ merkezin üstünde) yeni bir yuva buldu.
Amaç-C
Objective-C (1984'ten itibaren), bu makalede incelenen dillerin en eskisidir ve Apple tarafından desteklenen OSX işletim sisteminin ana dilidir. Sol alt) Swift'in tanıtımına kadar uygulamalarda çoğunlukla uygulamalar var.
Swift
Swift ilk olarak 2014'te ortaya çıktı ve şimdi Apple'ın geliştirme alanında Objective-C'nin yerini aldı. Stack Overflow'daki birçok soru #swift olarak işaretlenmiş olsa da, bunlar aslında "amaç-c" ile ilgilidir (yukarıdaki resmin sağ ortasında), bu da binlerce iOS geliştiricisinin Stack Overflow aracılığıyla güncelleme yapmak istediğini gösterebilir. Kendi bilgisi.
PHP
PHP (1995'ten başlayarak), web geliştirme için sunucu tarafı bir kodlama dilidir. Bugün bu dil hala bu amaca hizmet ediyor, bu yüzden bu dilin "laravel" (sol merkezin üstünde) çerçevesi hakkında sorularla çevrili olduğunu görebilirsiniz.
SQL
Metin çalışmasında SQL, diğer programlama dillerinden farklıdır ve tam programlama işlevlerine sahip bir dil değildir.Sadece özel bir görevden sorumludur: veri manipülasyonu. Bu özellik nedeniyle, SQL kullanıcılarının karşılaştığı en yaygın sorun veritabanı erişimidir: "sunucu", "mysql", "veritabanı", "sorgu", "seçim".
Zamanla, her programlama dili teknik alanda kendine özgü konumunu bulacaktır ve bazı diller özel amaçlar için bile tasarlanmıştır. R, veri bilimi içindir, Swift iOS geliştirme içindir ve C ++, çeşitli soru türleri arasındaki farkları açıklayan video oyunu geliştirme içindir. Ayrıca SQL'de neden sık sık "veritabanı" ile ilgili sorular gördüğümüzü, ancak diğer dillerde (Objective-C gibi) görmediğimizi de açıklar.
Bu bariz farklılıklara rağmen, yukarıda bahsedilen çeşitli görselleştirilmiş grafikler, farklı alanlardaki bazı temel benzerlikleri de yansıtır. Örneğin, dizeler ve diziler gibi temel veri türleri (tamsayılar, kayan nokta veya boole değerleri değil) aynı zamanda geliştiricilerin sık sık karşılaştığı sıkıntı noktalarıdır.Bunlar aynı zamanda çeşitli alanlardaki geliştiricilerin Stack Overflow'dan yardım istemelerinin nedenleridir.
Son olarak, bu 11.000 sorunun genel analiz sonuçlarına bir göz atalım:
Google arama bazı sorunları çözmenize yardımcı olabilir ... Bununla birlikte, Stack Overflow, geliştiriciler için nihai destektir.
Orijinal: https://www.globalapptesting.com/blog/picking-apart-stackoverflow-what-bugs-developers-the-most, bu makale CSDN tarafından çevrilmiştir, lütfen yeniden basımın kaynağını belirtin.