Pyhon, Python Ama Nedir Bu Python?

Burak Doğrul
4 min readMar 19, 2021

--

Python, nesne yönelimli, yorumlamalı, modüler ve etkileşimli yüksek seviyeli bir programlama dilidir.

Peki nesne yönelimli, yorumlamalı, modüler, etkileşimli ve yüksek seviyeli terimleri nedir diye sormadan hemen önce Python isminin nereden geldiğini ve bu programlama dilini tasarlayan kişiyi tanıyalım.

Guido Van Rossum

31 Ocak 1956 yılında Hollanda’da dünyaya gelmiş, Amsterdam Üniversitesinde Bilgisayar Bilimleri ve Matematik alanlarında yüksek lisansını tamamlamıştır.

1986–1991 yılları arasında Amoeba şirketinde dağıtılmış işletim sistemi üzerinde çalışmıştır. Herkesin rahatça kodlama yapabilmesi için bir programlama dili geliştirmeye karar verir. Bu kararı aslında Ameobe’de çalışırken almıştır ve 2 yıl üzerinde çalıştıktan sonra işinden ayrılarak 1991 yılında Python’ın 0.9.0 versiyonunu duyurmuştur. 12 Temmuz 2018 tarihine kadar Python ekibinde bulunmuş ve bu tarihte ekipten ayrılarak Dropbox’taki görevine devam etmiştir. 2019 yılında emekli olduğunu açıklasa da 2020 yılının Kasım ayında emeklilik kararından vazgeçerek Microsoft’ta seçkin mühendis olarak çalışmaya başlamış ve halen çalışmaya devam etmektedir.

Guido van Rossum, Python dilini yazarken ABC dilinden ilham almıştır. Düşünülenin aksine bu programlama dilini Piton yılanından değil ilk bölümü 5 Ekim 1969 son bölümü 5 Aralık 1974’te yayınlanan “Monty Python’s Flying Circus” adlı komedi programından almaktadır. Merak edenler için bir bölümünü hemen ekliyorum aşağıya.

https://www.youtube.com/watch?v=vnciwwsvNcc&list=PLetlg_Y42u8Q2M7ZEQoPpS_tScnkMosNj&index=2

Şimdi bahsettiğim terimlere gelebiliriz.

Nesne Yönelimli Programlama (OOP-Object Oriented Programming )

Programcıların bir veri yapısının, veri türünü ve veri yapısına uygulanabilecek işlem türlerini tanımladığı bir bilgisayar programlama türünü ifade eder.

Bu şekilde, veri yapısı hem verileri hem de işlevleri içeren bir nesne haline gelir. Böylelikle programcılar bir nesne ile diğer nesne arasında ilişki oluşturabilir. Örneğin, nesneler karakteristik özelliklerini diğer nesnelerden miras olarak devralabilir.

Avantajları:

· Kodları tekrar tekrar yazmamızı engelleyerek bizi büyük bir yükten kurtarır. Bu da bize daha anlaşılır kodlar yazmamız konusunda fayda sağlar.

· Bilgi gizliliği konusunda avantaj sağlar. Bilgi ve sorumluluğu tek bir yerde izole etmenizi sağlar.

· Yeni işlevler eklemek konusunda büyük fayda sağlar. Programcıya kodu genişletmek için çeşitli özelliklerle sunar.

· Zamandan tasarruf etmemizi sağlar

Yorumlayıcı (Interpreter)

Kaynak kodunu okuyup üzerinde çalışılan makinenin komut setine çevirerek çalıştırmasıdır. Yazdığımız kodları içerisinde tutan .py uzantılı dosya öncelikle derlenerek .pyc uzantılı bir dosya içerisine yazılmaktadır. Daha sonra bu kodlar python yorumlayıcısı tarafından yorumlanır.

Modüler/Birimsel (Modular)

Bir yazılımı diğer elemanlardan bağımsız çalışabilen modüller kullanarak tasarlama yaklaşımıdır.

Etkileşimli ( Interactive )

Canlı kodlama olarak da bilinen etkileşimli programlama, yaratıcının programın çalışmakta olduğu sırada programda değişiklik yapmasını sağlayan herhangi bir bilgisayar programlama dili yaklaşımıdır.

Yüksek Seviyeli (High Level)

Programlama dilinin donanımdan oldukça soyut olması yani günlük yaşamdaki dilimize daha yakın olduğunu belirtir. Bu sayede programcılar donanım bilgisine gereksinim duymadan sadece sorunun çözümüne odaklanmaktadırlar.

Yüksek seviyeli programlama dillerinin avantajları:

· Geliştirici dostudur.

· Anlaması kolaydır.

· Hata ayıklaması kolaydır.

· Öğrenmesi ve kodlaması kolaydır.

· Yazdığınız kodu farklı platformlarda çalıştırabilirsiniz.

Python ile Neler Yapılabilir?

· Veri Analizi ve Bilimsel Hesaplamalar

· Yapay Zeka ve Makine Öğrenmesi

· Web Geliştirme

· Oyun Geliştirme

· Robotik Uygulamalar

· Örümcek Yazılımlar

· Rest API Oluşturma

· Ağ ve Soket Programlama

· Sistem Yönetimi

· Kriptoloji

Ve daha birçok şey yapılabilir.

Neden bu kadar çok tercih ediliyor

· Aktif kullanıcı desteği

· Sponsor Desteği

· Açık kaynak kodlu olması

· Sahip olduğu geniş kütüphane havuzu

· Güvenilirlik

· Ulaşılabilirlik

· Entegrasyon özelliğine sahip olması

Şimdi meşhur Python’ın ne olduğunu öğrendiğimize göre artık yavaş yavaş kodlama kısmına geçebiliriz. Python temelleri serisinin ikinci yazısında görüşmek üzere.

Kaynaklar:

https://en.wikipedia.org/wiki/Python_(programming_language)

https://en.wikipedia.org/wiki/Guido_van_Rossum

https://en.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus

https://en.wikipedia.org/wiki/Interpreter_(computing)

https://en.wikipedia.org/wiki/Modular_programming

https://www.netinbag.com/tr/internet/what-is-interactive-programming.html#:~:text=Canl%C4%B1%20kodlama%20olarak%20da%20bilinen,Ard%C4%B1ndan%20program%C4%B1%20bilgisayarda%20%C3%A7al%C4%B1%C5%9Ft%C4%B1r%C4%B1yor

https://teknoloji.org/high-level-ve-low-level-programlama-dilleri-nedir/

--

--