Teknolojilerin kesiştiği nokta!

PYTHON'IN YILLAR İÇİNDEKİ GELİŞİMİ

Python, üst düzey ve genel amaçlı bir programlama dili olmasının yanı sıra, aynı zamanda nesne yönelimli ve açık kaynaklı bir dildir. Dünya genelinde hatırı sayılır sayıda geliştirici Python’ı GUI uygulamaları, web siteleri ve mobil uygulamalar oluşturmak amacıyla kullanır. Python, güncel olarak bazı çok kullanılan web sitelerinde -Google, Yahoo Groups, Yahoo Maps, Linux Weekly News, Shopzilla vb.- kullanılmaktadır. Aynı şekilde oyun, finans, bilim ve eğitim alanındaki uygulamalarda da çokça kullanılır. Ancak, geliştiriciler bu programlama dilinin farklı versiyonlarını kullanmaktadır. W3techs sitesindeki kullanım istatistikleri ve pazar payı verilerine göre, Python 2 web sitelerinin %99.4’ünde, Python 3 ise %0.6’sında kullanılmaktadır. Bu sebeple, her programcının Python’ın farklı versiyonlarını ve yıllar içindeki gelişimini anlaması önemli hale gelmiştir.

Python Yıllar İçinde Nasıl Gelişti?

Başlangıçta Hobi Olarak Tasarlandı

En popüler programlama dillerinden biri olmasına rağmen, Python aslında Guido van Rossum tarafından Aralık 1989’da bir hobi proje olarak yaratıldı. Van Rossum’un ofisi Noel boyunca kapalı olduğu için kendisini tatil boyunca meşgul tutmak amacıyla bir hobi proje arıyordu. Yeni bir scripting dil için bir interpreter oluşturmaya karar verdi ve projesine Python ismini verdi. Bu şekilde, Python aslında ABC programlama diline bir varis olarak yaratıldı. Van Rossum, interpreterı yazdıktan sonra Şubat 1991’de kodu halka açık hale getirdi. Ancak şu an Python, Python Software Foundation tarafından yönetilmektedir.

Python Versiyon 1

Python 1.0, Ocak 1994’te piyasaya sürüldü. Bu versiyon, lambda, filter, map ve reduce gibi yeni özellikleri ve fonksiyonel programlama araçlarını içermektedir. Versiyon 1.4, keyword parametreler, karmaşık sayılar için dahili destek ve basit veri gizleme biçimi gibi birkaç yeni özellik ile piyasaya sürüldü. Bu önemli sürümü, Aralık 1997’de versiyon 1.5 ve Eylül 2000’de versiyon 1.6 olmak üzere iki küçük sürüm takip etti. Python versiyon 1’de, dönemin popüler programlama dilleri tarafından sunulan özellikler eksikti. Ancak, ilk versiyonlar güçlü bir programlama dilinin gelişimi için sağlam bir temel yarattı.

Python Versiyon 2

Ekim 2000’de, Python 2.0 yeni list comprehension özelliği ve garbage collection sistemi ile piyasaya sürüldü. Yeni list comprehension özelliğinin söz dizimi, Haskell gibi fonsiyonel programlama dillerinden esinlenildi. Ancak Python 2.0, Haskell’in aksine, noktalama işaretleri yerine alfabetik anahtar kelimeleri tercih etti. Ayrıca, garbage collection sistemi referans döngülerinin derlemesini oluşturuyordu. Bu büyük sürümü, birkaç küçük sürüm takip etti. Bu sürümler, nested scope için destek ve Python class ve typelarını tek hiyerarşide birleştirme gibi bazı işlevleri programlama diline ekledi. Python Software Foundation, şimdiden Python 2.8 olmayacağını duyurdu. Ancak, versiyon 2.7’ye destek sağlanacak.

Python Versiyon 3

Python 3.0, Aralık 2008’de piyasaya sürüldü. Bu sürüm, birkaç yeni özellik ve iyileştirme ile bazı kullanımda olmayan özellikleri beraberinde getirdi. Bu kullanımda olmayan özellikler ve geriye uyumsuzluk (backward incompatibility), Python versiyon 3’ün önceki versiyonlardan tamamen farklı olmasına neden oldu. Bu nedenle, birçok geliştirici son büyük sürümle kullanımdan kalkan özelliklerden fayda sağlamak amacıyla hala Python 2.6 veya 2.7 kullanmaktadır. Ancak, yeni özellikleri Python 3’ü daha modern ve popüler hale getirdi. Hatta birçok geliştirici harika özelliklerden faydalanmak için versiyon 3.0’ı kullanmaya başladı.

Python 3.0, programcılara isteğe göre uyarlanan ayırıcı (custom separator) kullanmaları için olanak sağlarken print komutunu dahili print() fonksiyonuyla değiştirdi. Aynı şekilde, sıralama ve karşılaştırma kurallarını basitleştirdi. Eğer terimler doğal ve anlamlı bir şekilde sıralanamıyorsa, karşılaştırma operatörü TypeError exceptionı oluşturmaya başladı. Versiyon 3, Unicode ve 8-bit stringler yerine metin ve veriyi daha fazla kullandı.

Python 3’te geriye uyumsuzluk olduğundan, programcılar string exceptionları, eski usul classlar ve örtük bağıl içe aktarmalar (implicit relative imports) gibi özelliklere erişemez. Ayrıca, geliştiriciler söz dizimi ve API’lara yapılan değişikliklere aşina olmalıdır. Python 2’den 3’e uygulamalarını rahatça taşımak için “2to3” adında bir araç kullanabilirler. Araç, uyumsuzluk ve soru işareti bulunan yerleri yorumlar ve uyarılarla belirtir. Yorumlar, programcılara kodlarında değişiklikler yapmalarına ve uygulamalarını programlama dilinin son versiyonuna yükseltmelerine yardımcı olur.

Python’ın Son Versiyonları

Bugün, programcılar Python 3.4.3 ya da 2.7.10 versiyonunu tercih edebilir. Python 2.7, geliştiricilere standart kütüphanelerdeki iyileştirmelerden ve gelişmiş sayısal işlemden faydalanma imkanı sağlar. Bu versiyon, Python 3’e geçişi çok daha kolaylaştırır. Bunun yanı sıra, Python 3.4 birkaç yeni özellik, kütüphane modülleri, güvenlik iyileştirmeleri ve CPython implementasyon iyileştirmelerini beraberinde getirir. Ancak, Python API ve programlama dilinde bazı özellikler kullanımdan kalkmıştır. Geliştiriciler, uzun vadede destekten faydalanabilmek için Python 3.4’ü kullanabilirler.

Python Versiyon 4

Python 4.0’ın, 2023’te Python 3.9 piyasaya sürüldükten sonra kullanılabilir olması bekleniyor. Bu sürüm, programcılara versiyon 3’ten 4’e sorunsuz geçişte yardımcı olacak özellikleri beraberinde getirecek. Ayrıca, uzman Python geliştiricileri tecrübe kazandıkça bazı geriye uyumluluk özellikleri sayesinde uygulamalarını fazladan zaman ve efor harcamadan modernleştirebilecek. Ancak, geliştiriciler Python 4.0’ın net bir resmini elde edebilmek için hala birçok yıl beklemek zorunda. Aynı zamanda, versiyon 4.0’a kolayca geçebilmek için son sürümleri takip etmek zorunda.

Python 2 ve Python 3 birbirinden tamamen farklı. Bu yüzden, her programcı farklı versiyonların özelliklerini anlamak ve projelerin spesifik ihtiyaçlarına göre bu versiyonların işlevselliklerini karşılaştırmak zorunda. Ayrıca, her frameworkün desteklediği Python versiyonu kontrol edilmelidir. Ancak, geliştiriciler yeni özellikler ve uzun vadeli destekten faydalanabilmek için Python’ın son versiyonundan yararlanmalıdır.

 

Ece Dilara ASLAN
Boğaziçi Üniversitesi Bilgisayar Mühendisliği Öğrencisi



Sizi Arayalım!
Sitemizi kullanarak çerezlere (cookie) izin vermektesiniz. Detaylı bilgi için Çerez Politika'mızı inceleyebilirsiniz.