önce M. AKÇA tarafından yazılmıştır. Hangi Programlama Dilini Kullanmalıyım?

Hangi Programlama Dilini Kullanmalıyım?

Bu tip soruları takipçilerimizden son zamanlarda çok sık duymaya başladık: Veri Merkezli çalışmalar için hangi programlama dilini kullanmalıyım? Yeni programlama dili öğreneceğim hangisini öğreneyim?

Bence bu sorunun cevabı Python Neden mi?

veribilimciler hangi yazılıım aracları kullanıyor

2014 yılında veri bilimi ile ilgilenen insanlara hangi programlama aracını kullandıkları sorulduğunda bu cevap alınmış. Dikkat ederseniz R ve Pyhton veri tabanı dışında başı çeken iki programlama dili. R biraz daha yüksek kullanım oranına sahip gibi görünse de bu yarışta kimi zaman R kimi zaman ise Pyhton öne geçiyor

Bir çok kullanıcı Pyhton kullanmaya başladıktan sonra ona alışıp başka programlama dili kullanmak istemez. 1991 yılında ilk kez duyrulan Pyhton dili Perl ve Ruby ile birlikte o yıllardan beri en popüler programlama dillerinden bir tanesi olmuştur. Pyhton ve Ruby’nin kullanımı son yıllarda daha da yaygınlaşmıştır. Bunun nedeni bu iki dilin web siteleri oluşturmakta kullandıkları başarılı kütüphaneler ve frameworkler’dir. Ruby’nin Rails’i Pyhton’un ise Django’su çok sık kullanılmaya başlayan web dilleridir.

Seviyeler

Programlama dilleri genelde düşük seviyeli ve yüksek seviyeli olmak üzere iki kategoride değerlendirilirler. Bir programlama dili programcısına ne kadar çok kaynağa müdahale etme izni veriyorsa, o kadar düşük seviyeli bir dildir. Bilgisayar programlamanın ve işlemci mantığının en alt seviyesi sayılan 1 ve 0 işleme, Makine Kodlama ve Assemly programlama en düşük seviyeli bilgisayar programlarıdır. Bu seviyede bilgisayarın işletim sistemine dahi müdahale edilir.

programlama

Fakat veri merkezli işler yapan insanlar işletim sistemi kaynaklarına müdahale etmeye izin verecek seviyede düşük bir programlama dilinin yeteneklerine ihtiyaç duymazlar. Alt seviyelere indikçe programlama için bilgisayar programcısının harcadığı zaman artarken, sonucunda ortaya çıkan programın çalışma zamanı da o ölçüde azalacak ve  program performanslı bir hale gelecektir. Burada gerekli performans ayarlamaları ve kaynak tüketimi programcıya bırakıldığı için kaynak israfı minumuma indirilecektir. Halbuki Pyhton ve Ruby gibi yüksek seviyeli dillerde, programcının yapacağı işler otomatikleştirildiğinden ve varsayılan çok sayıda gerekli gereksiz ayarlamanın çalıştırılmasından ötürü bir performans azalması gerçekleşecek, fakat programcı çok kısa sürede istediği programı geliştirme fırsatı yakalayacaktır.

 

Script Diller

En yüksek seviyeli dillerden olan script diller hazır kod parçacıklarıdır, Python olsun Django olsun, bu diller script dilleri ya da script olarak nitelendirilirler. Script dil den bahsedilince genellikle insanlar kritik yazılımlarda bu dillerin kullanılamayacağı düşünürler. Bir çoklarına göre script diller ciddi işlerin araçları değildir. Fakat Pyhton’u diğer script dillerden ayıran çok önemli bir özelliği vardır:

 

Neden Pyhton Kullanılmalı?

Pyhton dili bilimsel çalışmalar için çok uygun bir dildir. Veri Analizi, Etkileşimli Hesaplama, Görselleştirme gibi konularda çok iyi sonuçlar vermektedir. Ayrıca R, MatLab, SAS gibi bir çok istatistik ve matematik programını kendi kütüphanelerinde barındırarak, sanki hepsini içeriyormuş gibi çalışır.

Ayrıca kod yazmaya başlayan insanlar, hazır kütüphaneler sayesinde hemen işe yarar bir şeyler yapmaya başlarlar ve bu motivasyonu inanılmaz artırır. Alttaki karikatür bu durumu özetlemektedir.

python

Python tüm bu nedenlerden ötürü Veri Merkezli çalışmalar için en uygun programlama dilidir. C, C++, FORTRAN kodları ile de etkileşim içersindedir.

Çift Dil Problemi

Diyelim ki Pyhton kodunu geliştirdiniz fakat bir organizasyonda çalışıyorsunuz ve geliştirdiğiniz çalışmayı bir ürün haline getirmek gerekiyor. Bunun için aynı zamanda Java, C++ gibi bir dil daha mı öğrenmelisiniz? İşte aynı programlama toolunu kullanmak burada çok avantaj sağlar. Etileşimli bir şekilde python ile birlikte bir dil kullanılabilir.

 

Eksi Yönleri

Pyhton dilinde geliştirilen programlar, C++ ve Java gibi compile edilen düşük seviyeli dillerde geliştirilen programlardan çok daha yavaş çalışırlar. Pyhton ayrıca çok işlemcili bilgisayarlar için hazırlanan multi-thread programlama yapısı için uygun değildir. Özellikle Big Data işlemleri ve büyük veri setleri için bu eksi yönü önemli bir eksikliktir. Fakat bu demek değildir ki hiç bir zaman Pyhton multi-thread işlemler yapamayacak.