PYTHON NEDİR?
Python, dinamik anlambilim ile yorumlanmış, nesne yönelimli, üst düzey bir programlama dilidir. Dinamik yazım ve dinamik ciltleme ile birleştirilmiş yüksek veri yapıları, Hızlı Uygulama Geliştirme için ve mevcut bileşenleri birbirine bağlamak için bir betik veya yapıştırıcı dil olarak kullanılmasını çok cazip kılmaktadır.
Python’un basit, öğrenmesi kolay sözdizimi okunabilirliği vurgular ve böylece programın bakım maliyetini düşürür. Python, program modülerliğini ve kod kullanımını yeniden teşvik eden modülleri ve paketleri desteklemektedir. Python yorumlayıcısı ve geniş kapsamlı standart kütüphane, tüm büyük platformlar için ücretsiz olarak kaynak veya ikili biçimde mevcuttur ve serbestçe dağıtılabilir.
Programcılar, sağladıkları artan verimlilik nedeniyle Python’a aşık olurlar. Derleme adımı olmadığından, düzenleme-test-hata ayıklama döngüsü inanılmaz derecede hızlıdır. Python programlarında hata ayıklama kolaydır: Hata veya hatalı bir giriş hiçbir zaman segmentasyon hatasına neden olmaz. Bunun yerine, tercüman bir hata bulduğunda, bir istisna yaratır.
Program istisnayı yakalamadığında, yorumlayıcı yığın izini yazdırır. Kaynak düzeyinde bir hata ayıklayıcı, yerel ve küresel değişkenlerin denetlenmesini, isteğe bağlı ifadelerin değerlendirilmesini, kesme noktalarının belirlenmesini, kodun her seferinde bir satıra atılmasını vb. Sağlar. Hata ayıklayıcı, Python’un içsel gücüne tanıklık ederek Python’da yazılmıştır. Öte yandan, çoğu zaman bir programın hatalarını ayıklamanın en hızlı yolu, kaynağa birkaç baskı ifadesi eklemektir: hızlı düzenleme-test-hata ayıklama döngüsü bu basit yaklaşımı çok etkili kılar.
PYTHON’UN DİĞER DİLLERLE KARŞILAŞTIRMASI
Python genellikle Java, JavaScript, Perl, Tcl veya Smalltalk gibi diğer yorumlanmış dillerle karşılaştırılır. C ++, Common Lisp ve Scheme ile karşılaştırmalar da aydınlatıcı olabilir. Bu bölümde Python’u bu dillerin her biriyle kısaca karşılaştıracağım. Bu karşılaştırmalar sadece dil konularına odaklanmaktadır. Uygulamada, bir programlama dilinin seçimi genellikle maliyet, kullanılabilirlik, eğitim ve önceki yatırımlar veya hatta duygusal bağlanma gibi diğer gerçek dünya kısıtlamaları tarafından belirlenir. Bu yönler oldukça değişken olduğundan, bu karşılaştırma için onları fazla düşünmek zaman kaybı gibi görünüyor.
JAVA
Python programlarının genellikle Java programlarından daha yavaş çalışması beklenir, ancak geliştirilmeleri çok daha az zaman alır. Python programları genellikle eşdeğer Java programlarından 3-5 kat daha kısadır. Bu fark Python’un yerleşik yüksek seviye veri tiplerine ve dinamik tiplendirmesine bağlanabilir. Örneğin, bir Python programcısı, argüman veya değişken türlerini bildirmek için hiç zaman harcamaz ve Python’un zengin sözdizimsel desteğin doğrudan dilin içine yerleştirildiği güçlü polimorfik liste ve sözlük türleri hemen hemen her Python programında bir kullanım bulur. Çalışma zamanı yazma nedeniyle, Python’un çalışma zamanı Java’dan daha fazla çalışmalıdır.
Örneğin, a + b ifadesini değerlendirirken, derleme zamanında bilinmeyen türlerini bulmak için önce a ve b nesnelerini incelemesi gerekir. Daha sonra, aşırı yüklenmiş bir kullanıcı tanımlı yöntem olabilecek uygun ekleme işlemini başlatır. Diğer yandan Java, verimli bir tamsayı veya kayan nokta eklemesi yapabilir, ancak a ve b için değişken bildirimler gerektirir ve kullanıcı tanımlı sınıfların örnekleri için + operatörünün aşırı yüklenmesine izin vermez.
Bu nedenlerden dolayı Python “tutkal” dili olarak çok daha uygundur, Java ise düşük seviyeli bir uygulama dili olarak nitelendirilir. Aslında, ikisi birlikte mükemmel bir kombinasyon oluşturur. Bileşenler Java’da geliştirilebilir ve Python’da uygulamalar oluşturmak için birleştirilebilir; Python, tasarımları bir Java uygulamasında “sertleşene” kadar bileşenleri prototiplemek için de kullanılabilir.
Bu tür bir gelişimi desteklemek için, Java’da yazılmış bir Python uygulaması, Python kodunu Java’dan veya tam tersinden çağırmayı sağlayan geliştirme aşamasındadır. Bu uygulamada, Python kaynak kodu Java bytecode’a çevrilmiştir (Python’un dinamik anlambilimini desteklemek için bir çalışma zamanı kitaplığından yardım alarak).
JAVASCRİPT
Python’un “nesne tabanlı” altkümesi, kabaca JavaScript’e eşdeğerdir. JavaScript gibi (ve Java’dan farklı olarak) Python, sınıf tanımlarına girmeden basit işlevleri ve değişkenleri kullanan bir programlama stilini destekler. Ancak, JavaScript için, hepsi bu kadar. Python ise, sınıfların ve kalıtımın önemli bir rol oynadığı gerçek nesne yönelimli bir programlama stili ile daha büyük programlar yazmayı ve kodun daha iyi kullanılmasını destekliyor.
PERL
Python ve Perl, benzer bir arka plandan geliyor (her ikisi de uzun zamandır ortaya çıkan Unix scriptleri) ve birçok benzer özelliği destekliyor, ancak farklı bir felsefeye sahipler. Perl, ortak uygulama odaklı görevler, örneğin; yerleşik düzenli ifadelere sahip olarak, dosya tarama ve rapor oluşturma özellikleri.
Python, veri yapısı tasarımı ve nesne yönelimli programlama gibi ortak programlama metodolojileri için desteğe önem verir ve programcıları zarif ancak aşırı derecede şifreli olmayan bir gösterim sağlayarak okunabilir (ve bu nedenle de korunabilir) kod yazmaya teşvik eder. Sonuç olarak, Python Perl’e yaklaşıyor, ancak nadiren orijinal uygulama alanında atıyor; Ancak Python’un Perl’in nişinin ötesinde uygulanabilirliği vardır.
TCL
Python gibi, Tcl de bağımsız bir programlama dili olmasının yanı sıra, bir uygulama uzantısı dili olarak da kullanılabilir. Bununla birlikte, geleneksel olarak tüm verileri dizge olarak saklayan Tcl, veri yapılarında zayıftır ve tipik kodu Python’dan çok daha yavaş yürütür. Tcl ayrıca, modüler ad alanları gibi büyük programlar yazmak için gereken özelliklerden de yoksundur. Bu nedenle, Tcl kullanan “tipik” bir büyük uygulama genellikle bu uygulamaya özgü olan C veya C ++ ile yazılmış Tcl uzantılarını içerirken, genellikle “saf Python” ile eşdeğer bir Python uygulaması yazılabilir.
Tabii ki, saf Python geliştirme, bir C veya C ++ bileşenini yazmak ve hata ayıklamak zorunda kalmaktan çok daha hızlıdır. Tcl’in bir yüksek kalitesinin Tk araç seti olduğu söyleniyor. Python, standart GUI bileşen kütüphanesi olarak Tk’ye bir arayüz kabul etti.
Tcl 8.0, sınırlı veri türü desteğine sahip bir bytecode derleyicisi sağlayarak hız kullanımını giderir ve ad alanları ekler. Ancak, hala çok daha hantal bir programlama dilidir.
SMALLTALK
Belki de Python ve Smalltalk arasındaki en büyük fark Python’un programcı eğitimi konusunda bir açıklama veren daha “ana” sözdizimidir. Smalltalk gibi, Python da dinamik yazma ve ciltleme özelliğine sahiptir ve Python’daki her şey bir nesnedir.
Ancak, Python, yerleşik nesne türlerini kullanıcı tanımlı sınıflardan ayırır ve şu anda yerleşik türlerden miras almasına izin vermez. Smalltalk’ın standart veri toplama türleri kütüphanesi daha rafine, Python’un kütüphanesi ise internet ve e-posta, HTML ve FTP gibi WWW gerçekleriyle başa çıkmak için daha fazla olanaklara sahip.
Python, geliştirme ortamı ve kod dağıtımı konusunda farklı bir felsefeye sahiptir. Smalltalk’in geleneksel olarak hem ortamı hem de kullanıcının programını içeren monolitik bir “sistem imajına” sahip olduğu durumlarda, Python hem standart modülleri hem de kullanıcı modüllerini kolayca yeniden düzenlenebilen veya sistemin dışına dağılabilen ayrı dosyalarda saklar. Bunun bir sonucu olarak, GUI sisteme yerleşik olmadığı için Grafiksel Kullanıcı Arayüzünü (GUI) bir Python programına eklemek için birden fazla seçenek bulunmasıdır.
C++
Java için söylenen hemen hemen her şey C ++ için de geçerlidir, Python kodu genellikle eşdeğer Java kodundan 3-5 kat daha kısa olduğunda, genellikle eşdeğer C ++ kodundan 5-10 kat daha kısadır! Anekdot kanıtı, bir Python programcısının iki C ++ programcısının bir yılda tamamlayamayacağı şeyi iki ayda tamamlayabileceğini gösteriyor. Python, C ++ ile yazılmış bileşenleri birleştirmek için kullanılan bir tutkal dilidir.
ORTAK LİSP VE ŞEMA
Bu diller, dinamik anlam bilimlerinde Python’a yakındır, ancak bir karşılaştırmanın neredeyse dini bir argüman haline geldiği sözdizimi yaklaşımlarında çok farklıdır: Lisp’in sözdizimi eksikliği bir avantaj mı dezavantaj mı?
Python’un Lisp’inkine benzer içsel yeteneklere sahip olduğu ve Python programlarının anında program parçaları oluşturabildiği ve uygulayabildiği belirtilmelidir. Genellikle, gerçek dünya özellikleri belirleyicidir: Common Lisp (her anlamda) büyüktür ve Scheme dünyası, Python’un tek, ücretsiz ve kompakt bir uygulamaya sahip olduğu birçok uyumsuz sürüm arasında bölünmüştür.
Başka bir makalemiz : http://argoajans.com/instagramda-nasil-reklam-verilir/