Python Nedir?

Daha önceki yazılarımda Veri Bilimi‘ne ve Makine Öğrenmesi‘ne giriş yapmıştık. Peki bu alanlarda uygulama yapmak istiyorsak hangi programlama dil veya dillerine hakim olmalıyız? İlk önce şunu söylemek istiyorum. Kendimize belirli alanlarda kullanmak için, ana bir programlama dili seçmek her zaman iyi olacaktır. „Ana programlama dili“ diyorum, çünkü sadece bir dile hakim olmak, onun inceliklerini bilmek, uygulama geliştirme esnasında bize hız kazandıracaktır. Bu dediklerim Python gibi „High Level“ programları için geçerli. Tabiki, R gibi diğer programlama dillerini de öğrenmede bir sakınca yok. Demek istediğim sadece performans bazlı bir tavsiye. Adet yerini bulsun diye Python‘ın genel bir tanımını yapalım.

Python; nesne tabanlı, yorumlanmış, genel amaçlı kullanılan yüksek düzey „High Level“ bir programlama dilidir. Bu tanımın içinde de aslında burada anlatılması gereken tanımlar da var. Ama bunların İngilizce karşılıklarını şöyle bırakıyorum: Nesne tabanlı: Object-oriented, Yorumlanmış: Interpreted, Yüksek düzey: High Level. Bu kavramların açıklamalarını basit bir Google aramasıyla bulabilirsiniz.

Python ismi, piton yılanından gelmiyor onu söyleyeyim

Biraz merak uyandırmak için, Python‘un kısaca tarihçesinden ve kullanım alanlarından bahsedelim. İlk başlarda 80‘lerin sonlarında üzerinde kavramsal olarak düşünülen/tasarlanan Python dili, Guido van Rossum adındaki aslen Hollandalı, genelde Amerika‘da takılan programlamacı bir abi tarafından, ilk sürümünü, 1.x, 1994 yılında vermiştir. Günümüzde kullanılan 3.x sürümleri ise 2008 yılından itibaren yayınlanmaya başlamıştır. Başlıca kullanım alanları;

  • Yapay Zeka, Makine Öğrenmesi
  • Veri Bilimi, Veri Görselleştirme
  • Genel programlama uygulamaları
  • Otomasyon
  • Web geliştirme
  • Oyun geliştirme
  • Finans
  • Falan, Filan v.b.

Gelelim Python‘un diğer dillere göre öne çıkan avantajlarına;

  • Ücretsiz va açık kaynaklı
  • Öğrenmesi basit
  • Hata kodlarını anlaması kolay
  • Okunabilirliği güzel
  • Kütüphane bolluğu (Maşallah diyelim)

Bu avantaj listesi uzar gider. Kısacası, Yapay Zeka ve alt kollarında uygulama geliştirmek, araştırma yapmak istiyorsanız Python öğrenin. Daha ne diyeyim yani. Zaten son yıllarda yapılan anketlerde Python aldı başını gidiyor. JavaScript ve HTML/CSS gibi web programlama dillerini aradan çıkartırsak, Python high level diller arasında birinci sırada. İşte aşağıda, programlamacıların cirit attığı Stackoverflow sitesinde yayınlanmış 2021 yılına ait bir anket. Veri Bilimi ve Makine Öğrenmesi gibi alanlarda Python zaten 1. sırada.

1. Stackoverflow 2021 Developer Survey

Gelelim bizim konuya. Veri Bilimi, Makine Öğrenmesi gibi alanlarda Python‘da çalışmak için, çok kullanışlı, çoğu açık kaynaklı kütüphaneler, framework‘ler, araçlar var. Bunlardan bazıları;

  • Tensorflow
  • Keras
  • Scikit-Learn
  • OpenCV-Python
  • Matplotlib
  • Numpy
  • SciPy
  • ve daha belki yüzlercesi…

Bu kütüphane konusunda önemli olan, yapacağınız uygulama için hangi kütüphanenin, framework‘ün daha uygun olduğunu belirlemek, kütüphane fonksiyonlarının parametrelerini/argümanlarını iyi kullanabilmek, fleksibilitenin azaldığı yerlerde başka kütüphanelere başvurmaktır. Gerisi sizin programlama becerinize ve modeli iyi bir şekilde oluşturmanıza kalmış.

Ansiklopedik bilgilerden ve işin magazin kısmından bahsettik. Biraz da gerçek hayata bakalım. Bana kalırsa, bu işe sıfırdan başlıyorsanız; Hello World‘den başlayıp ilk önce ihtiyacınız kadar öğrenin ve bence tek ana bir dille yetinin (Veriyi çekmek, manüpile etmek için, SQL ve HTML gibi diğer yardımcı dilleri de öğrenmek de fayda var tabi) ve size gereken kütüphanelerin ana özelliklerini öğrenin. Ama tabi bir taraftan da yenilikleri ve farklı yöntemleri takip etmeye çalışın. İnternette bulduğunuz Use Case‘lerden fikirler çıkarıp, kendi projelerinizde uygulamaya çalışın. Karşınıza gelen problemi veya bir isteği çözmek için bir yerlerden başlayın. Zaten siz bu yola girdiğinizde ve kararlı/inatçı olduğunuzda ihtiyacınız olan şeyler bazen kazara da olsa karşınıza gelecektir. Stackoverflow, GeeksforGeeks gibi siteler hep karşınıza çıkacak. Yeterki kararlı olun ve mücadeleyi bırakmayın. Program yazarken Hata kodlarının üzerine üzerine gidip programınızı geliştirdiğinizde, yazdığınız program Run tuşuna bastığınızda karşınıza istediğiniz sonucu ortaya çıkarıyorsa ve siz kendinizi mutlu hissediyorsanız, siz olmuşsunuz demektir. Ha bir de, kimse anasınının karnından programlamacı olarak doğmadı. Herkes sonradan öğrendi. Ve bence, bu öğrenme fiilinin temeli sadece birşeyleri merak etmek. Düşünceleriniz neyse, eylemleriniz ona dönüşür. Neyse, iyice psikolojiye girmeden yazımı bitireyim.

Gelecekteki yazılarımda Python derslerine başlayacağım.

Takipte kalın.

 

Kaynaklar:

1- https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language

 

 

 

Leave a Reply