Programlama Dilleri Popülerliği [İnfografik]

2013 yılında hangi programlama dili daha popüler?  Yazılımcılar hangi dilleri tercih ediyor?


hangi programlama dili daha popüler?














Bu sorulara cevap verebilmek için bir kaç gün araştırma yapıp, hangi kriterlere göre sıralama yapmalıyız sorusuna cevap aradık. Uzun bir araştırma yaptıktan ve kendi fikirlerimizi de kattıktan sonra sıralama kriterlerimizi şu şekil belirlemiştik:


1. Stackoverflow etiket sayısı
2. GitHub en popüler diller
3. Google trends
4. Tiobe verileri
5. Facebook fan, twitter takipçi sayıları
6. Youtube tutorial(eğitim videosu) sayısı
7. Wikipedia ziyaret sayısı
8. Amazon kitap sayısı

Yukarıda saydığımız ve benzeri(reddit,digg... verileri vb.) kıstasları baz alarak, hangi dillerin daha popüler olduğunu görmek istedik. Ancak, araştırmanın sonlarına doğru kaydetiğimiz bazı verileri maalesef kaybettik. Bu nedenle infografiği sadece 1,2,3 ve 4. kriterlere göre hazırladık. Ancak, yazımızın devamında diğer kriterlere de değineceğiz. Sadece infografiğe eklenmediler.

Bu kriterlerin, bir programlama dilinin popüler olup olmadığını tam olarak yansıtmayacağını ancak, genel olarak eğilimin bu yönde olduğunu belirtelim. Ayrıca, bazı kriterler arasında çelişkiler olabileceğini, bu çelişkilerin bu kriterlerin oluşturulmasında kullanılan verilerin türlerine ve nasıl kullanıldığına bağlı olduğunu da belirtmekte fayda var. Mesela, Github verileri Github üzerinde proje sayıları baz alınarak elde edilmiş ancak, buradaki projelerin çoğunun kişisel projeler olduğunu biliyoruz. Hal bu olunca, bu veriler üzerinden genelleme yapmak ne kadar doğru olur, bilinmez. Bu sebeple, mümkün olduğunca çok kriter bulmaya çalıştık.


İnternet üzerinde, hangi programlama dilinin daha popüler olduğu konusunda daha önce yapılmış araştırmalarda, genellikle Tiobe, PYPL, Stackoverflow ve Github verileri kullanılmış. Biz de araştırma sırasında elde ettiğimiz verileri kaybettiğimiz için, infografiğimizi bu dört sitenin verilerine göre hazırladık. Ancak, daha önce de söylediğim gibi diğer kriterlere ait verilere de yazının devamında değinerek, mümkün olduğunca fazla kriterden yararlanıp, hangi dil daha popüler sorusuna daha gerçekçi bir cevap bulmaya çalışacağız.

Son olarak, yukarıdaki 9 kriter arasına eklemediğimiz ancak yazı devamında değineceğimiz bir kaç farklı kriter daha mevcut.


Önce infografikteki sırayla başlayalım...

1. Google Trends: Bildiğiniz gibi Google'ın ücretsiz servisi olan Google Trends, web'deki arama trendleri hakkında bilgi edinmemizi sağlayan bir araç. Biz direkt Google Trends'i kullanmak yerine, bunu bizim yerimize yapmış ve yapmakta olan PyPL verilerini kullandık. PyPL, Google aramlarını baz alarak programlama dilleri popülerliği istatistikleri çıkaran bir site. Aramalarını, programlama-dili tutorial şeklinde yapıyor ancak, objective-c için ios tutorial anahtar kelimesi kullanılmış.
Her ay düzenli olarak bir grafik çıkaran PyPL verilerine göre, son zamanlarda Python, C#,C++, Objective-C ve Ruby tutorial aramları geçen sene bu döneme göre yükselişe geçerken, diğer dillerde düşüş var.

PyPL Genel Sıralaması ise şöyle:


  • 1. Java
  • 2. PHP
  • 3. Python
  • 4. C#
  • 5. C++
  • 6. C
  • 7. JavaScript
  • 8. Objective-C
  • 9. Visual Basic
  • 10. Ruby



2. Stackoverflow: Stackoverflow, programcılar için yapılmış bir soru-cevap sitesi. Bu sitede aklınıza takılan soruları soruları sorup, profesyonellerden yardım alabilirsiniz. Sorulan sorular, etiketlere göre kategorilendiriliyor. Biz de bu etiket sayısını baz alarak bu sıralamayı yapıyoruz. Bu sıralamanın negatif yanı ise; programlama dilinin popülerliğini o dil hakkında sorulmuş soruların sayısıyla ölçmek. Bir yandan bakıldığında, bir dil hakkında ne kadar çok soru soruluyorsa, bu o dilin zorluğunun ya da karmaşıklığının bir ölçüsü de olabilir. Ama aynı zamanda, bir dil hakkında soru sayısı ne kadar çok ise, o dili öğrenmeye çalışan(meraklı) ya da o dil ile ilgili proje geliştirmekte olan kişi sayısı da çok diyebiliriz.

Şunu belirtelim: ios etiketi sayısını Objective-C etiketi sayısına eklemedik çünkü; o zaman Android etiketi sayısını Java'ya, jQuery 'yi JavaScript'e vs gibi tüm alt teknolojileri ilgili dillere eklememiz gerekecekti. Sonuç olarka, direkt dil adı etiketi sayısına göre sıralama yaptık.

Stackoverflow'a göre sıralama şu şekilde:


  • 1. C#
  • 2. Java
  • 3. PHP
  • 4. JavaScript
  • 5. C++
  • 6. Python
  • 7. Objective-C
  • 8. Ruby
  • 9. C
  • 10. Visual Basic



3. Github: Github, bir nevi programcıların sosyal ağı olan; kod paylaşımı ve yayınlamasını sağlayan bir servis. Kişiler kendi projelerini yayınladıkları gibi diğer yayınlanmış açık kaynak kodlu projelerde de eklemeler veya değişiklikler yapabiliyorlar. Github, programlama dillerini, kullanıldıkları proje sayısına göre sıralamış.
Bu sıralamaya göre, JavaScript açık ara birinci olurken; ilginç bir şekilde Ruby ikinci sıraya oturuyor.
GitHub'ın ilk 10'una bakacak olursak:


  • 1. JavaScript
  • 2. Ruby
  • 3. Java
  • 4. Python
  • 5. Shell
  • 6. PHP
  • 7. C
  • 8. C++
  • 9. Perl
  • 10. Objective-C



4. Tiobe: Tiobe, her ay düzenli olarak  Google, Google Blogs, MSN, Yahoo!, Wikipedia ve YouTube gibi arama motorlarını kullanarak, sonuçlarda çıkan sayfa sayısını baz alarak bir sıralama yapan bir şirket. Sıralamaların sayfa sayısına göre yapılması ne kadar doğru bilinmez. Bu konuda PyPL eleştirisini şöyle dile getiriyor: "Objective-C aramalarda 28 milyon üzeri sayfaya sahip. C dili ise sadece 11 milyon." Bu, "Objective-C sayfalarını okuyan kaç kişi var?" diye soran Pierre Carbonnelle, Google Trends'e göre bu sayfaları okuyanların çok az olduğunu söylüyor ve Tiobe verilerinin sağlıklı bir sonuç vermediğini belirtiyor. Bir bakıma Pierre haklı. Google Trends bu milyonlarca sayfanın ne kadar ziyaret aldığını ölçüyor. Aldığı ziyaret sayısı belliyken, ne kadar çok sayfası olduğunu ne kadar önemli? Ayrıca, eski dillerin daha çok sayfası olacağı da aşikar.

Ancak, birden fazla arama motorunu her ay düzenli olarak kullanarak verileri alan Tiobe, bir nevi aylık çıkan sayfa sayılarına göre sıralama yapmış oluyor. Bu genel sıralamayı pek etkilemese de, Tiobe sıralamasındaki değişimi pozitif yönde olan diller, bize son zamanlardaki trendin hangi dile doğru yön değiştirdiğini göstermeye yetiyor.

Tiobe kriterlerine göre programlama dilleri genel sıralaması şöyle:


  • 1. Java
  • 2. C
  • 3. Objective-C
  • 4. C++
  • 5. C#
  • 6. PHP
  • 7. Visual Basic
  • 8. Python
  • 9. Ruby
  • 10. Perl
  • 11. JavaScript


Şimdi gelelim, infografiğimize kat(a)madığımız verilere...
5. Youtube: Programlama dilinin popülerliği, o dil için yayınlanmış eğitim videolarının sayısı ile doğru orantılı. Dile ne kadar talep varsa, o kadar çok eğitim videosu oluyor. Ancak, sıralamanın olumsuz yanları da mevcut. Birincisi eğitim videosu sayısı videoyu hazırlayanların keyfine(hakim oldukları dil ya da dillere) kalmış. Aslında pek popüler olmayan bir dilde, sırf hazırlayanların hazırlamak istedikleri için oluşturdukları videolar var. Ama bu istisnai durumun sıralamayı etkileyecek boyutta olmadığı belli. İkinci durum ise, dilin geçmişi. Yeni olan bir dilin, doğal olarak eğitim video sayısı da az olacaktır.
Genel olarak popülarite listelerimizde yer alıp da diğerlerine göre en yeni dil 2000'lerde yazılmış olan C# var. Onun dışındakiler 2000'den önce yazılmışlar. Bu durumu da ortadan kaldırmak ve son zamanlardaki eğilimi de göstermek için aramaları 2009-2013 arasını alacak şekilde filtreleyeceğiz. Kısaca burada,  youtube'daki, 2009-2013 arasında eklenmiş, tutorial(eğitim videosu) sayısını baz alarak bir sıralama yapacağız. Aramaları allintitle:"dil_adı tutorial" şeklinde yapıp, C dili araması için aramalardan C++,C# ve Objective-C sonuçlarını çıkartacağız. Ayrıca "C tutorial" farklı sonuçlar da çıkarabileceği için bu aramayı "C programming tutorial" şeklinde yapacağız.

İşte oluşan sıralama böyle: 


  • 1. Java
  • 2. Python
  • 3. C++
  • 4. C
  • 5. Visual Basic
  • 6. JavaScript
  • 7. PHP
  • 8. C#
  • 9. Objective-C
  • 10. Ruby
  • 11. Perl



6. Wikipedia: Wikipedia'nın ne olduğunu herkes bilir. O yüzden hiç buna değinmeden direkt konuya geçeyim. Bu sıralamamızı Wikipedia'nın makale trafik istatistiklerine göre yapacağız. Her bir dilin Wikipedia sayfasının son 90 gün içerisinde aldığı ziyaret sayısını baz alarak bir sıralama yapacağız.

Bir konu hakkında bilgi edinmek için ilk başvurulan yer Wikipedia'dır. Bu nedenle, bu sıralama da bize, hangi dili öğrenmeye eğilim olduğunu göstermede yardımcı olacak.
Araştırma yapılırken, dillerin Wikipedia'daki başlık isimleri göz önüne alınmıştır.
Örneğin, C# için C Sharp (Programming Language) veya C için C (Programming Language) gibi. Burada bir farklılık yapıp, araştırma yaptığımız andaki ziyaret sayılarını da sıralamalara ekleyeceğiz:



  • 1. C (991819)
  • 2. JavaScript (757795)
  • 3. Java (673116)
  • 4. PHP (559687)
  • 5. C++ (495912)
  • 6. Python (399463)
  • 7. Visual Basic (390839)
  • 8. C# (361284)
  • 9. Objective-C (184408)
  • 10. Ruby (174919)
  • 11. Perl (160890)



7. Amazon: Bir programlama dilini öğrenmek için mutlaka elinizin altında bir de kitap olmalı. Kitabın yeri çok ayrı. Dili öğrenmek isteyen kişi kitabını da para vererek alıyorsa, gerçekten o dili öğrenmek istiyordur. Alınan ve basılan kitap sayısıyla o dilin popülerliği arasında doğru orantı vardır. Alınan ve basılan kitap sayıları, hangi dile eğilim olduğunu görmekte büyük etken. Biz alınan kitap sayısı değil de, sadece kitap sayısını(basılı,pdf,html) baz alarak, amazon.com verilerini kullanarak bir sıralama yapacağız. Yine eski dillerin kitapları daha fazla olabileceği için aramalarımızı son 1 yıl ile filtreledik.

Çıkan sonuca hep beraber bakalım:


  • 1. Java 
  • 2. JavaScript
  • 3. PHP
  • 4. C#
  • 5. C++
  • 6. Python
  • 7. Visual Basic
  • 8. C
  • 9. Objective-C
  • 10. Ruby
  • 11. Perl



8. Reddit: Reddit, kısaca bir link paylaşım servisi. Üyelerinin beğendikleri, ilginç veya paylaşmaya değer buldukları linkleri paylaşmasına ve bu paylaşımların diğer üyeler(redditor) tarafından oylanmasına olanak sağlayan; ilgi alanlarına göre alt kategorileri (subreddit) bulunan, stackoverflow'daki gibi subreddit'lerde ilgi alanına göre sorular da sorabileceğiniz bir açık kaynak kodlu sosyal web servisi. İlginizi çeken subreddit'lere abone olarak bu subredditlerdeki gelişmelerden haberdar olabilirsiniz. Kişisel olarak tavsiyemdir, kullanmasını bilen için çok yararlı bir servis. Hele İngilizce'niz de varsa, ilgi alanınızla ilgili çok yararlı siteler ve içerikler bulabilir ayrıca doğru kullanabilirseniz, kendi sitenizin de backlink kazanmasını sağlayabilirsiniz.
Bizim reddit'te kıstas alacağımız şey ise; subredditlerdeki abone(redditor/reader/okuyucu) sayısı. Programlama dilleri ilgi alanı olan kişiler genel programlama ile ilgili subredditlere(misal bknz) ya da direkt ilgi alanı olan programlama dilinin subreddit'ine abone olup, gelişmelerden haberdar oluyorlar. Biz de, direkt programlama diline ait subreddit'lerdeki ilgili okuyucu sayısını baz alarak bir sıralama yapacağız:


  • 1. Python2. JavaScript3. PHP4. Java
  • 5. Ruby
  • 6. C++
  • 7. Haskell
  • 8. Lisp
  • 9. Perl
  • 10. C
  • 11. C#
  • 12. Objective-C
  • 13. Visual Basic



9. Facebook: Facebook'ta herkes ilgi alanına giren şeylerin sayfalarını beğenerek, hem ilgi alanlarını doldurur hem de o sayfayı takip eder. Biz de Facebook takipçi sayılarına göre bir sıralama yapalım dedik. Programlama dilleri sayfalarının takipçi sayısına göre hazırladığımız bu sıralamada, en büyük 5 sayfanın takipçi sayıları baz alınmıştır:


  • 1. PHP (açık ara)
  • 2. Java
  • 3. JavaScript
  • 4. C
  • 5. C++
  • 6. Python
  • 7. Visual Basic
  • 8. C#
  • 9. Perl
  • 10. Objective-C
  • 11. Ruby



10. Twitter: Yine Facebook gibi Twitter'da da takipçi sayılarına bakalım dedik. Facebook'a göre daha zor oldu açıkcası. Ayrıca, C diline dair kayda değer bir veri elde edemedik. O nedenle sıralamaya C'yi koymadık. Facebook sıralaması ile Twitter sıralaması arasındaki farklar gözümüze çarptı(en azından ilk 3 değişmedi). Twitter sıralamasını da vereceğiz yalnız pek de sağlıklı bir istatistik olmadığını söylemek yanlış olmaz. Zira, direkt dil için açılan hesapları bulamadığımızda dil ile bağlantılı hesapların takipçilerini hesaba kattık. Misal; Ruby dili için Ruby on Rails framework takipçilerini de hesaba kattık. Yine en büyük 5 hesabın verilerini aldık ve sıralama şöyle oldu:


  • 1. PHP
  • 2. Java
  • 3. JavaScript
  • 4. Python
  • 5. Ruby
  • 6. C++
  • 7. C#
  • 8. Perl
  • 9. Objective-C
  • 10. Visual Basic


11. Google(Döküman sayısı): Amazon'daki kitap sayılarına bağlı olarak bir sıralama yaptık yukarıda. Ancak, Amazon'da yayınlamayan kitaplar için de Google arama motorunu kullandık. Yalnız bu sefer bu kitaplardan(dökümanlar) sadece .pdf uzantılı olanları hesaba katacağız. 2010'dan bugüne internet üzerinde yayınlanmış olan .pdf dökümanlarının sayılarını baz alarak bir sıralama yapalım:


  • 1. Java
  • 2. JavaScript
  • 3. PHP
  • 4. C
  • 5. C++
  • 6. Visual Basic
  • 7. Python
  • 8. C#
  • 9. Objective-C
  • 10. Perl
  • 11. Ruby


12. Redmonk: Redmonk sitesinden Stephen O'Grady 'nin hemen hemen her ay yaptığı çalışmada programlama dillerini Stackoverflow ve Github verilerini kullanarak popülerlik grafiği oluşturuyor. Biz Stackoverflow ve Github verilerini ayrı ayrı değerlendirmiştik. Ancak, böylesi çoklu değerlendirmelerin daha sağlıklı olacağını düşündüğümüzden, Stephen' ın sıralamasını da paylaşalım dedik:


  • 1. JavaScript
  • 2. Java
  • 3. PHP
  • 4. Python
  • 5. Ruby
  • 6. C#
  • 7. C++
  • 8. C
  • 9. Objective-C
  • 10. Perl
  • 19. Visual Basic


SONUÇ: Yukarıda saydığımız kriterlerin hepsi birbirinden az ya da çok farklı sonuçlar veriyor. Baz aldıkları kıstaslar farklı olduğu için bu normal bir sonuç. Yalnız, yukarıdaki sonuçlardan hangisini dikkate almalı?
Saydığımız 11(redmonk dahil, twitter hariç) sonucu belirli oranlarda karıştırarak, ortaya tüm kriterlerden pay almış bir sonuç çıkaralım istedik. Her bir sonuca belli bir yüzde vererek, sıralamalarını baz alarak , yeni bir türetilmiş sıralama yapalım. Yüzdeleri şöyle olsun;
Google Trends(%12), Stackoverflow(%12), Github(%16), Tiobe(%10) - buraya kadar toplam %50.
Youtube(%8), Wikipedia(%7), Amazon(%10), Reddit(%5), Facebook(%5), Google Döküman(%7) ve Redmonk(%8). 
Redmonk'u tekrar katıyorum çünkü Github ve Stackoverflow'daki hemen hemen tüm dilleri baz almışlar.


 Programlama-TV TOP 10 Programlama Dilleri:
Aldığımız yüzdelerden sonra aşağıdaki şekilde bir top 10 oluşuyor. JavaScript ve PHP aynı puanı alıyorlar.
Parantez içindekiler dağılımdan sonra aldıkları puanlar.
1. Java (25,20)
2. JavaScript&PHP (22,80)
3. Python (21,36)
4. C++ (20,76)
5. C (20,16)
6. C# (18,72)
7. Ruby (16,68)
8. Visual Basic (16,56)
9. Objective-C (16,32)
10. Perl (14,40)

Yorum: Bizim verdiğimiz yüzdeleri değiştirerek, kendi top 10'unuzu oluşturabilirsiniz. Ayrıca, bir önceki Programlama Dilleri İstihdam Eğilimleri yayınımıza da göz atarak, iş dünyasında sizden neler beklendiğini de göz önünde tutarak, öğrenmek isteyeceğiniz dil ya da dillere karar verebilirsiniz. Ayrıca, sonraki konumuz olacak, "Bilgisayar/Yazılım Mühendisleri ne kadar kazanıyor? Dünyada Bilişim Teknolojisi Sektörü Demografisi." yazımıza da göz atmanızı tavsiye ederiz. Özellikle yurtdışında kariyer düşünenlere...



Aşağıda da Programlama Dilleri Popülerliği İnfografiği'ni görebilirsiniz. (İlk 4 kritere göre)






Bir sonraki konumuzda görüşmek üzere...

Sonraki konu: Bilgisayar/Yazılım Mühendisleri ne kadar kazanıyor? Dünyada Bilişim Teknolojisi Sektörü Demografisi.



Not: Hocamızın bizler için hazırladığı kapsamlı ders anlatım videolarını Programlama-TV.blogspot.com'da yayınlamak için izin aldık. Videolar, şu an için upload edilmekte. Bir sonraki konudan sonra daha farklı ders anlatım videolarıyla beraber, bu videoları da yayınlamaya başlayacağımızı duyuralım.




_________________________________________________________________________________
Gizlilik


Bu lisansın kapsamı dışındaki izinler Programlama-TV.blogspot.com adresinde mevcut olabilir.

Sunumun ve içeriğin orijinal haline sadık kalındığı ve Programlama-TV.blogspot.com adresi kaynak olarak gösterildiği sürece, bu içeriğin ve sunumun çoğaltılmasına, paylaşılmasına, ticari amaçlı kullanılmasına izin vardır.

2 yorum:

  1. Siz bize açikca Javayi oyrenmemizi tercih etdiniz. Tesekkurler. Siteniz oldukca saglam bir site.
    Basarilarinizin devamini bekleriz.

    Saygilarimla
    Azerbaycandan Fizuli Serdarov

    YanıtlaSil
  2. Eğer ilk defa programlama dili öğreniyorsanız sizin için hiçbir dil kolay olmayacaktır. İkinci dilinizi öğrenirken koşul ifadeleri, döngüler vb birçok alanda diller birbirine benzeyecektir ancak yeni dil öğrenen birisi için bu kavramlar yabancı kavramlardır. Ancak web yazılım sektöründen ilerleyecekseniz Javascript öğrenmek diler dilleri öğrenmekten çok daha kolaydır. Bunu belirtmemin sebebi Diğer programlama dillerinde int, long, decimal vb sayının türlerini tanımlarken belirtmek zorunda kalırken Javascript'te "var" ile her şeyi tanımlayabilmenizdir. Tanımlayacağınız şey bir sayı da olsa bir yazı da olsa aynı değişkeni kullanabiliyorsunuz.

    YanıtlaSil

Bu yayın hakkında yorumlarınızı belirterek, gidişatımızın şekillendirilmesine katkıda bulunabilirsiniz.
Teşekkürler