DERS 3 - Python Nedir?

Python derslerinin bu videosunda, eğitim serisine başlamadan Python nedir diye inceliyoruz.

Python Nedir?

Python, yorumlanan, yüksek seviye, dinamik ve genel amaçlı bir programlama dilidir. Guido van Rossum tarafından yaratılmış ve ilk olarak 1991 yılında piyasaya sürülmüş.

Python, özellikle boşlukları kullanarak kod okunabilirliğini vurgulayan bir tasarım felsefesine sahiptir.

Hem küçük hem de büyük ölçek projelerde açık ve anlaşılır yapılar ortaya koymamıza olanak sağlar.

Python da dinamik değişken tipleri ve garbage collection yani çöp toplayıcı yeteneği vardır.

Prosedürel, nesne yönelimli ve fonksiyonel programlama dahil çoklu programlama paradigmalarını destekler. Python, kapsamlı bir standart kütüphaneye sahiptir, ne ararsanız bulmanız mümkündür çünkü bir elektronik cihazın kutusunda “piller dahildir” yazdığı gibi, bu kütüphanede “piller dahildir” felsefesiyle hazırlanmıştır.

Python interpreter’ı birçok işletim sisteminda çalışmaktadır. Python'ın referans uygulaması olan CPython, açık kaynaklı bir yazılım ve gönüllü topluluğu temelli bir geliştirme modeline sahiptir. Python ve CPython, kâr amacı gütmeyen Python Yazılım Vakfı veya Python Software Foundation tarafından yönetilmektedir.

Python la sistem programlama, ağ, web, oyun, çeşitli uygulamalar, veritabanı yazılımları ve yapay zekâ yazılımlarını programlamak ve daha birçok alanda yazılım geliştirebilirsin. Günümüzde tahminlere göre dünya çapında kodların en az %27 si Python la yazılmaktadır. Python kullanan büyük organizasyonlara örnek olarak Wikipedia, Google, Yahoo!, Avrupa nükleer araştırma merkezi CERN, NASA, Facebook, Amazon, Instagram, Spotify verilebilir. Python yazılım dili adını sanılanın aksine bir yılandan değil, babasının, yani Guido van Rossum’ın bu dili geliştirirken çok beğendiği, BBC TV şovu Monty Python adlı komedi grubundan ilham alınmıştır. Python kodlarında Monty Python sürekli geçmekte ve Py öneki Monty Python grubunun oyunlarına isim veririken kullandıkları önek olduğundan Python diliyle ilgili tüm kütüphaneler, uygulamalara da eklenmektedir. Dilin temel felsefesini özetlersek:

  • Güzel, çirkinden daha iyidir
  • Açık, kapalı olmaktan daha iyidir
  • Basit, karmaşıktan daha iyidir
  • Karmaşık, karışıklıktan daha iyidir
  • Okunabilirlik önemlidir

Python’ın Tarihçesi

Hollanda Amsterdam da, Ulusal Matematik ve Bilgisayar Bilimleri Araştırma Enstitüsünde geliştirilmiş olan, ABC yazılım geliştirme dilinin yerine, 1980'lerin sonunda yazılım dili Python tasarlanmış ve uygulamaya Aralık 1989'da Guido van Rossum tarafından dağıtık işletim sistemi olan Amoeba için exception handling yani hata yönetimi ve interface özelliklerini içerecek şekilde başlanmıştır.

Guido Van Rossum’ın neredeyse günümüze kadar, Python'ın yönünü belirleme konusundaki devam eden merkezi rolü, Python topluluğunun ona verdiği, Benevolent Dictator for Life yani yaşam için yardımsever diktatör ünvanını 12 Temmuz 2018 de bırakmıştır.

Python’ın ilk versiyonu Ocak 1994 yılında fonksiyonel programlama özelliğiyle çıkmıştır.

Python’a karmaşık sayılar özelliği eklenerek Ekim 1996 da yeni versiyonu 1.4 yayımlanmıştır.

Python’ın ikinci versiyonu, Ekim 2000'de, birçok yeni özellikle birlikte örneğin garbage collector yani bellek yönetimi için çöp toplayıcı özelliği ve Unicode desteğiyle yayımlanmıştır. Tabi bu versiyonla, en önemli değişiklik, daha şeffaf ve topluluk destekli bir sürece girerek, geliştirme sürecinin değişimiydi.

Geriye doğru uyumsuz bir versiyon olan Python 3, uzun bir test süresinin ardından Aralık 2008'de yayınlandı. Python 3, Python 3000 veya Py3K diye de bilinen sürece, dildeki temel tasarım hatalarını düzeltmek için başlandı, ancak bunu yaparken geriye dönük tam uyum mümkün olmayacaktı bu nedenle yeni bir versiyon numarasıyla devam edildi. Python 3'ün yol gösterici ilkesi şuydu: "eski yöntemleri kullanan tekrarlanan özellikleri kaldırın. ".

Python 3 te, önceki versiyonların felsefesiyle geliştirilmişti. Ancak önceki versiyonlarda zamanla aynı işi yapan çeşitli yeni ve eski yöntemlerin birikmişti ve hangi yöntemin kullanılacağı yazılımcıya kalması ve bu durumda kodda karmaşaya yol açması Python felsefesine aykırıydı, be nedenle Python 3’te tekrarlanan yapıları ve modüller kaldırdılar, ilkeleri de buydu "Olabiliyorsa bir tane olmalı ve tercihen sadece bir, oda açık ve anlaşılır olan".

Tabiki, Python 3 çoklu paradigma yazılım dili özelliğini korudu. Kodlayıcılar hala nesne yönelimi programlama, yapısal programlama, fonksiyonel programlama ve diğer paradigmalara sahipti, ancak bu geniş seçenekler, Python versiyon 3’te Python versiyon 2 serisinde olduğundan çok daha açık ve belirgin olmalıydı. Öylede yapıldı.

Python Uyarlamaları

Python açık kaynak kodlu bir yazılım dili olduğundan farklı amaçlar için başka topluluklar bazı özellikler ekleyip yeni uyarlamalar yayımlamışlardır. Bunlardan bazılarını sana anlatmam gerekirse

CPython

Referans uyarlama. Python topluluğunun temel uyarlaması.

Stackless Python

Neredeyse CPython la aynı, tek farkla, fonksiyonlar arası geçişlerde stack siliniyor ve buda microthread çalışmalarında fayda sağlıyor.

MicroPython

ARM Mikrokontroler platformlarını destekleyen Python 3 uyarlaması

Cython

Python kodunda C ve C++ kodu veya kütüphanesinin kullanımını sağlayan ve Python kodunu C ve C++ koduna derleyen uyarlamadır.

IronPython

.Net ile geliştirilmiş Python uyarlaması. Ancak Microsoft’un 2010 da desteğini projeden çekmesiyle az sayıda gönüllü yazılımcıyla devam ettirildiği için çok geriden geliyor.

Jython

Java platformunda çalışabilecek Python kodları için geliştirilen derleyici. Bu derleyici Python kodlarını Java bytecode a dönüştürüyor. Bu arada henüz Python 3’ü desteklemiyor.

PyPy

Python’ın zamanında derleyici versiyonudur. Yani Just in Time Compiled versiyonudur. Neredeyse Python’ın tüm kodları PyPy da çalışıyor, neredeyse. Ama zamanında derleyici özelliği sebebiyle daha hızlı çalışıyor.

Numba

NumPy kütüphanesini kullanan Python kodlarının GPU’yu kullanabilmek için derleyici. NVIDIA CUDA ve AMD HSA desteği vardır.

Nuitka

Python kodunu C ve C ++ kaynak koduna, veya C ve C++ uygulamalarına derleyen Python uyarlaması


DERSLER