it-swarm.dev

Python ile neden bu kadar popüler?

Beyaz alanda sözdizimi olarak rahatsız olmanın dışında, bir düşmanı değilim, sadece Python'a olan hayranlığımı alamıyorum.

Ben Perl şiirini takdir ve bash & korn ve Shebang gnuplot güzel web hizmetleri programladık. Belgeleri troff içine yazıyorum ve REXX'i umursamıyorum. Yıllar önce hiç kullanışlı bulamadık, ama Python'un en büyük kokusu nedir? İş listelerini ve bununla ilgili birçok adayı özgeçmişlerinde bir ödül ve kupa olarak görüyorum.


Gerçekte, kişisel olarak bunun üzerinde satılmaya çalışıyorum, bir neden bulamıyorum.

55
Jé Queue

Python, oldukça temiz bir sözdizimi, kapsamlı bir standart kütüphane, mükemmel dahil ve üçüncü taraf belgeleri, yaygın dağıtım ve "komut dosyası" tarzı dilin (yani açık bir derleme adımı yokluğu) ile iyi tasarlanmış bir dildir.

61
Greg Hewgill

Python kod yazdığım en doğal programlama dili olarak buldum. Python'dan önce ve sonra ve daha büyük veya daha az bir çok dilde kodladım ölçüde, dilediğiniz şeyi yapmak için mücadele etmek zorundasınız. Python bu mücadeleyi büyük ölçüde azaltır. Eric S Raymond bunu çok fazla söyledi benden daha iyi Neden Python?

İlgili bir nokta olarak, Python hızla evrimleşirken bile temizliğini korur. Çalıştığım birçok dilde, yeni dil özelliklerinin tanıtılması çok fazla kırışıklık yaratır, ancak Python ile ana dil bile özellikler (dekoratörler akla geliyor) çirkin kesmek gibi hissetmeden her zaman eklenir.

76
Chinmay Kanchi

Umarım bu çok alaycı gelmez, ancak IMO Python Java, C # ve Objective-C ile aynı nedenden dolayı çok popülerdir. çünkü her birinin çok fazla hype, çok fazla reklam ve çok sayıda kütüphane ve tercih ettikleri dil için destek üretebilen bir magacorporate sponsoru var.

26
Mason Wheeler

Benim deneyimlerim, programlamada gerçek bir sevinç bulan insanların genellikle okulda veya üniversitede öğrendiklerinden daha iyi uyan bir dil aramalarıdır. Temel olarak bu, varsayılan PHP/Visual Basic/C++/Java/C #) Python gibi daha egzotik (iş/kariyer yönüne) geçiş yapacakları anlamına gelir , Ruby, Haskell ve hatta Perl (muazzam hack değeri ve belirsizliği nedeniyle).

Beni yanlış anlamayın, işlerinde ve kodlarında büyük gurur ve neşe duyan çok deneyimli C #/VB.net programcıları var (StackOverflow adamları çok iyi bir örnek). t python programcı olmanız, çünkü size okulda öğrettikleri budur; bu sizin kendi kararınız olmalıdır.

Bence Jeff Atwoord'un bir blog yazısı vardı, ama bulamıyorum. Eğer bulursam bu yorumu güncelleyeceğim.

11
Ivo van der Wijk

Gerçekten harika ve şaşırtıcı Code Golf-off'lar üreten Ruby ile karşılaştırıldığında, Python "temel şeylerden biri - ve tercihen sadece bir - [şeyler] yapmanın belirgin bir yolu olmalı, "yani deyimsel Python yolu. Ben Ruby ile karşılaştırıldığında bu büyük bir avantaj buldum.

9
Dan Rosenstark

Eric S. Raymond'un açıkladığı nedenden ötürü Python 'u sevmeye başladım: Python' da program yazma eylemi kavramsal olarak kafamda kod tasarlama eylemini düşünmeye çok benzer.

İyi bir Python programcısı olmayı öğrenmek beni çok daha iyi bir C # programcısı yaptı. Birine LINQ anlayışını kolaylaştırdı. Python'da sınıflar ve jeneratörler kullanmamış olsaydım asla _Dictionary<string, Func<T>>_ gibi bir türü benimsememiş olabilirim veya _yield return_ kullanarak rahat edemezdim. Python dekoratörler kullandığım için AOP'un anlaşılması çok daha kolay. Liste devam ediyor.

8
Robert Rossney

İlk olarak, Python içindeki zorla girintileme gibi dil tuhaflıkları, dilin güçlü bir şekilde etkileyici ve yararlı olması durumunda çok az önemlidir. Ben de ilk başta bunun yüzünden geri çevrildim, ama yakında geçmişe bakmayı öğrendim ve şimdi bir engel olarak bile hissetmiyorum, çünkü dil benim için çalışmak çok daha kolay. Perl'deki değişkenlerdeki benzer işaretler , zararsız bir dil tuhaflığı ve dilde rahat olan herkes bundan rahatsız olmaz.

Pek çok insanın Python 'un harika olduğunu düşünmesinin nedenlerini anlamak için dili öğrenmeyi deneyin. Nedenleri çoğunlukla Perl ile aynıdır. Python içindeki sözdizimini sevdiğimi görüyorum (örneğin, liste kavrayışları, OOP sözdizimi vb.), Ancak bu gerçekten özneldir ve görüşleriniz farklı olabilir. Daha büyük projeler için Python tercih ederken, daha küçük betikler için Perl kullanıyorum.

Ve that sorunuzun cevabıdır. Python ile Perl, bash ve tcl karşılaştırılır. Mesele şu ki, adil bir karşılaştırma değil. Bash gibi diller, ortak görevleri otomatikleştirmek için küçük komut dosyaları yazmak için tasarlanmıştır. Bazı insanlar, kodun yeterince büyük hale gelmesi durumunda Perl'in de hantal olduğunu düşünmektedir (iyi yazılmış Perl almaz, ancak iyi yazılmış kodun büyük bir projede bulunması zor). IMHO Python diğer 'betik' dillerden farklıdır, çünkü büyük projelere ve küçük tek seferlik betiklere çok iyi ölçeklenir. Sanırım Ruby de aynı kaliteye sahip.

6
MAK

Hayırsever Diktatörün iyi stil fikrini, 1 iyi programlama fikrini, nasıl programlanacağı fikrini güçlendirmesi gerektiği felsefesi beni düzenli olarak hayal kırıklığına uğratır. Van Rossum gibi düşünmüyorum. Ancak dili van olmayan Rossum düşüncelerini ifade etme girişimlerine direniyor. Onun düşüncesi gerçekten birçok (en?) Programcı için iyi çalışır. Ama nasıl programlanacağı modeline uymuyorum.

Bu yüzden Perl'in üstün bir dil olduğuna inanıyorum.

[1] reduce 'ı kaldırma hakkındaki bloguna bakın.

6
Paul Nathan

2004'ten beri, Python geliştirmek için kullandım:

  • GUI
  • Işın izleme sahneleri Python - C++ bağları ile)
  • Çapraz platform otomatik yapım sistemleri
  • Test komut dosyaları
  • Günlük sorunlarınızı çözmek için genel amaçlı araçlar
  • Web siteleri ve web uygulamaları

2004 yılında, Python tercih edilen dildi çünkü Python komut dosyaları Windows, Linux ve Mac arasında çok az değişiklikle taşınabilir.

5
Thierry Lam

Bir derece Python bir işletim sistemi çekirdeği yazmak istemediğiniz sürece, ihtiyacınız olan tek programlama dili olduğunu düşünüyorum. Etkileşimli kullanım, rastgele kesmek, sistem yönetimi, bilimsel uygulamalar, işletim sistemi araçları, web uygulamaları, GUI uygulamaları, gömme, vb. taşınabilir, ücretsiz ve yaygın olarak kullanılır.Uygulama alanlarının hiçbiri gerçekte bu alanları kapsamaz.Bir kişi için gerçekten iyi bir stratejik yatırımdır ve bir şirket.

5
Peter Eisentraut

Zarif ve öğrenmesi gerçekten kolaydır ve temel türlerine (özellikle listelere) aşina olduğunuzda üretkenliğinizin bir sınırı yoktur. Algoritmaları prototiplemek veya bunları doğrudan bir makineye yerleştirebilecek sahte kod benzeri bir dilde yazmak için mükemmeldir ve tekrarlayan işler yapmak veya dosyalar üzerinde can sıkıcı işlemler yapmak için bir komut dosyası dili olarak gerçekten iyidir. Alt işlemleri birbirleriyle iletişim kurmak için bir tutkal dili olarak kullanıyorum: bazı kolay görevler için bash kadar güçlü değil, ancak tek bir kod satırından daha fazlasını yapmanız gerekiyorsa daha kolay.

Ve sonra işlevler ve altyordamlar arasında ayrım yapmaz, ne demek istediğimi biliyorsun.

4
Lorenzo Stella

Bana göre Python sevgili bir arkadaş oldu. Bu iyi bir senaryo ve prototip dili. Aklıma gelen en önemli şeyler:

  • Temiz sözdizimi, çok basit ve anlaşılması kolay
  • Çok paradigma, onu zorunlu bir dil olarak mı kullanmalıyım? Elbette. OOP? Sorun değil. Ayrıca, bazı hafif işlevsel dil özelliklerine de sahiptir; lambda, liste anlama vb.
  • Temel bilgi işlem ihtiyaçları için temel veri yapıları, dizi, Tuple, sözlük (ilişkilendirilebilir dizi), küme vb. İçin yerel desteğe sahiptir.
  • Diğer özellikler bir programlayıcıyı çok verimli hale getirebilir, ör. duck-tipping, yansıma, meta-programlama, dekoratörler, jeneratörler vb.
  • Zengin kütüphane desteği
4
grokus

Gördüğüm pek çok Python sevgili C çevresinden geçti ve "Hello "+ "World" Gibi şeylerden etkilendiler "Hello World". ezoterik/özel bir etiket toplamıyor ve bu yüzden kurutulmuş bir ormanda ateş gibi şehit insanlar arasında yayılıyor ve böylece yaratılan moda artık kendi başına yaşıyor.

3
mbq

Şimdi biraz daha az yorgun olduğum sorusuna yeniden yaklaşıyorum:

Python, popülerliğinin oldukça güçlü bir şekilde büyüdüğü yerlerden biri olan bilimsel programlama görevleri için özellikle uygun bulduğum bir dildir. Bunun birkaç nedeni:

  • Oldukça güçlü topluluk desteği, bazı güçlü kütüphanelerin mevcut olduğu anlamına gelir ve Python, MATLAB ve bu alandaki diğer bazı popüler diller için iyi bir yedek olarak çalışır.
  • do hıza ihtiyacınız olduğunda C ile iyi oynar, ancak genellikle hız gerçekten gerekli değildir, bu yüzden Python'un yorumlanan doğası bir anlaşma kadar büyük değildir.
  • Yabancılara çok garip keyfi sözdizimi kuralları gibi hissettikleri çok sayıda şey olmadan oldukça yaklaşılabilir bir dil olarak buldum. Güzel Swift.
  • "Al ya da bırak OOP". Bir çok bilimsel programlama projesi kapsamlı OOP'tan tüm bunlara büyük fayda sağlamaz. Bazıları yapar. İkisi arasında kolayca atlayabilecek bir dile sahip olmak güzel.
  • Güçlü platformlar arası destek. Özellikle birlikte çalıştığım şey nadiren GUI'leri içerdiğinden, hangi işletim sistemi çalıştıklarından endişe etmeden bir Python programı başka birine gönderebileceğime güvenebilirim.

Programlama dillerinin sonu değil, hepsi bir arada, ama iyi bir "Evet, muhtemelen ne olursa olsun sorun ne olursa olsun çözmek için bir aracım var" dil, muhtemelen şu anda popülerlik zevk.

2
Fomite

Python, hem mevcut çerçevelerde (Django, Zope vb.) Hem de yine birçok web işlevini kapsayan kolayca içe aktarılabilen kütüphanelerde çok 'webby' bir dildir.

Sadece bir HTML, CSS + JS beceri kümesinden (son birkaç yılda anekdot olarak büyük bir yeni programcı kaynağı) hareket eden web geliştiricileri için, bu çok çekici bir teklif (ditto Ruby) olduğunu düşünüyorum.

Ayrıca, Google Microsoft değildir ....

1
Jon Hadley

Bence ana nedenlerinden biri% 90 google Python yapılır olmasıdır.

Ancak, Python aynı zamanda öğrenmesi kolay, güçlü bir programlama dilidir.Yüksek düzeyde veri yapıları ve nesne odaklı programlamaya basit ama etkili bir yaklaşımı vardır. yorumlanmış doğasıyla birlikte, çoğu platformda birçok alanda komut dosyası oluşturma ve hızlı uygulama geliştirme için ideal bir dil haline getirir.

Python yorumlayıcı ve kapsamlı standart kitaplık Python Web sitesi, http:) gibi tüm büyük platformlar için kaynak veya ikili biçimde serbestçe kullanılabilir. //www.python.org/ ve serbestçe dağıtılabilir.Aynı site aynı zamanda birçok ücretsiz üçüncü tarafın dağıtımlarını ve işaretçileri içerir Python modülleri, programları ve araçları ve ek dokümantasyon.

Python yorumlayıcı, C veya C++ 'da uygulanan yeni işlevler ve veri türleri (veya C'den çağrılabilen diğer diller) ile kolayca genişletilebilir. Python özelleştirilebilir uygulamalar için uzantı dili.

0
blackhat