Sizlere dilim döndüğünce 1991 yılında Guido van Rossum tarafından geliştirilen ve ana feslefesi kod okunabilirliği olan Python programlama dilinin artan popülaritesinin nedenlerini açıklamaya çalışacağım. 2003 yılından itibaren en popüler 10 programlama dili arasına giriş yapan programlama dilinin popülaritesi doğrusal bir şekilde artıyor. Aşağıda 2003-2013 yılları arasında PYPL indeksi sonuçlarından oluşturulmuş grafiği göreceksiniz. PYPL (popularity of a programming language index) ilgili programlama dili üzerine ne kadar sıklıkla araştırma yapıldığını ortaya koyuyor. Elde edilen verilerin Google Trends’ten sağlandığı belirtiliyor. Guido van Rossum 2005-2012 yılları arasında Google bünyesinde çalışmış, Google’dan sonra Dropbox firmasında çalışmaya başlamış ve şu an Dropbox firmasında çalışmaya devam ediyor. Van Rossum’un 2005’te Google çalışmaya başlamasıyla birlikte Google’ın yoğun olarak Python programlama dilini kullanması Python programlama diline olan ilgiyi artırmıştır.

2017 Haziran itibariyle durum aşağıdaki gibi: (http://pypl.github.io/PYPL.html adresinden detaylı inceleyebilirsiniz)

Sitede Python’a artan rağbete de değinilmiş. Son 5 yılda Python ile ilgili araştırmalar yüzde 8,2 oranında artış yaşanırken PHP de yüzde 4,8’lik bir azalma meydana gelmiş.

Bir başka programlama dili popülaritesini inceleyen bir başka indeks olan TIOBE in sonuçları da aşağıdaki gibi: Yine değişimin artı yönde olduğunu görüyoruz. TIOBE indeksi de o programlama dilinde çalışan mühendis sayısı, programlama diline yönelik dersler, arama motorlarında aranma sıklığı gibi parametrelerin birleşiminden oluşturuluyor. Burada dikkat edilmesi gereken bu indeks en iyi programlama dili veya programlama diliyle ne kadar çok kod yazıldığını belirlemeye yönelik değildir. Ayrıca stackoverflow sitesinin yaptığı ankette 2013’ten 2017’ye Python programlama dilinin popülerliği %21’lerden %32’lere çıkmış.

Buraya kadar Python programlama dilinin artan popülaritesini ortaya koyduk. Şimdi bu durumun nedenlerinden bahsedelim. Python programlama dili, öğrenmesi oldukça kolay olan, syntax olarak İngilizce diline oldukça yakın, dinamik bir dil olması sebebiyle oldukça esnek bir yapıya sahiptir, katı kuralları yoktur. Programlamaya yeni başlayanlar için alışması oldukça kolay ve eğlencelidir. Bu eğlence de programlama dilini öğrenmek için gerçekten önemli bir motivasyon. Ayrıca Python ismi sanıldığı gibi piton yılanından değil de İngiliz komedi grubu Monty Python’dan gelmektedir. (http://www.montypython.com/pythons)  2014 Haziran’da yapılan bir araştırmaya göre Amerika’da  Bilgisayar Bilimi bölümlerinde öğrencilere başlangıç programlama dili olarak Python, Java’dan daha fazla tercih edilir hale gelmiş. İlk 10 üniversite içerisinde %80’i, 39 üniversite içerisinde 27’si (%69) Python’u programlamaya giriş dili olarak belirlemişler. Ülkemizde de İTÜ Fizik Mühendisliği bölümünden Berkin Malkoç “Temel Bilimler ve Mühendislik Eğitiminde Programlama Dili Olarak Python” adında bir bildiriye imza atmıştır. Python’un artan popülaritesinin altında kolay öğrenilmesinin yanısıra, geniş bir kullanıcı topluluğuna sahip olması, bilimsel çalışmalara olanak vermesi, çok geniş ölçekte geliştirme yapılabilmesi, veri madenciliği işlemlerini yapabilmesi , derin öğrenme gibi yapay zeka uygulamalarının da geliştirilebilmesi nedeniyle popülaritesini arttırmıştır. Python R programlama dilinden sonra veri madenciliği için en çok kullanılan ikinci yazılım dilidir. Python StackOverflow’da en büyük 5. Topluluğa sahip iken, GitHub’da en çok kullanılan 4. programlama dilidir.Meetup.com topluluğu olarak en büyük üçüncü kitle sahip programlama dilidir.

Python ile birçok geliştirmeler yapan Google’ın desteği de popülariteyi arttırmıştır. Wikipedia, Yahoo, CERN, NASA Python dilini kullanarak geliştirmeler yapmışlardır. Sosyal medya ağı sitesi Reddit tamamen Python diliyle yazılmıştır.

Python oldukça genel bir programlama dilidir. Web uygulamalarında servis geliştirmeden, veri madenciliğine, yapay zeka uygulamalarına, bilimsel hesaplama uygulamalarına, nesnelerin interneti uygulamalarına (IOT) yönelik geliştirmeler yapılabilir.

Python programlama dilinin kullanım alanları:

Web Uygulamaları Geliştirme

                Django ve Pyramid gibi web frameworkları

                Flask ve Bottle gibi micro-framework’ler

                Plone ve django CMS gibi İleri seviye içeri yönetimi istemleri

Python’un standard kütüphaneleri birçok Internet protokolünü destekler:

                HTML ve XML, JSON, E-mail processing, FTP, IMAP ve diğer Internet protokolleri

                Socket programlama arayüzü oldukça kolaydır.

Ayrıca paketlerde daha kullanışlı kütüphaneler mevcuttur:

                Requests gibi güçlü http istemci kütüphanesi

                BeautifulSoup gibi HTML parse(ayrışımı)

                Feedparser gibi RSS besleme kütüphanesi

                Paramiko gibi SSH2 protokolünü adapte etme

                Twisted Python Asenkron ağ programlama kütüphanesi

Python bilimsel ve numerik hesaplamalarda çokça kullanılır.

                SciPy, NumPy,Matplotlib,SageMath matematik,bilim,mühendislik dallarına yönelik paketler

IPython Paralel progralama ve görselleştirmeye izin veren kolayca düzenlenebilen ve kaydedilebilen bir Shell

Yapay zeka uygulamaları:

                Deepy, Caffe,OpenCV, Theano,TensorFlow, Sci-kit Learn, mlpy(Machine Learning Python), NLTK (Natural Language Toolkit), NeuroLab, PyMC

Nesnelerin İnterneti:

Raspberry Pi için temel programlama dili olarak belirlenmiştir.

MQTT Makineler arası bağlantı protokolü

Zerynth IoT ve Endüstri 4.0 uygulamalarına sahip framework

Veri Madenciliği (Data Mining) Uygulamaları:

Orange Veri analizi ve görselleştirme

PyData Python Veri Analiz Kütüphanesi

Pandas veri analizi ve modelleme

Referanslar