SORU
19 HAZİRAN 2009, Cuma


Neden't Python fonksiyonel programlama için çok iyi değil mi?

Her zaman fonksiyonel programlama Python ile yapılabilir olduğunu düşündüm. Böylece, Python this soru bir söz çok alamadım şaşırdım, ve sözü edilen zaman, normalde çok olumlu değildi. Ancak, birçok sebep bu (desen eşleştirme ve cebirsel veri türleri eksikliğinden bahsedildi) için verildi. Benim sorum ise şu: neden Python fonksiyonel programlama için çok iyi değil mi? Desen eşleştirme ve cebirsel veri türleri eksikliğine daha fazla nedeni var mı? Ya da bu kavramlar onları desteklemeyen bir dil, sadece ikinci bir oran olarak kabul edilebilir fonksiyonel programlama çok önemli bir fonksiyonel programlama dili. (İşlevsel programlama ile benim deneyim oldukça sınırlı olduğunu unutmayın.)

CEVAP
19 HAZİRAN 2009, Cuma


Başvuru hem de nesne yönelimli ve fonksiyonel programlama teşvik eden aynı soruyu sorar. Python değilteşvikbile olsa fonksiyonel programlamaçalışıroldukça iyi.

En iyi argümankarşıPython fonksiyonel programlama OO kullanım durumları/şart fonksiyonel programlama kullanım durumları olmasa da dikkatle Guido tarafından kabul edilir. Zorunlu Python yazarken, hayatımda gördüğüm en güzel dillerden biri. Fonksiyonel Python yazdığımda, BDFL olmayan sıradan bir dil gibi çirkin ve nahoş bir hal alıyor.

Kötü değil ama eğer fonksiyonel programlama teşvik eden bir dil geçtiyseniz daha zor çalışmak zorunda olduğunu söylemek ya OO Python yazmaya açık değil.

Burada Python özledim işlevsel şeyler:


  • Hayır desen eşleştirme ve hiç kuyruk özyineleme temel algoritmaları zorunlu olarak yazılmış olması demek. Özyineleme çirkin ve Python yavaş.
  • Küçük bir liste Kütüphanesi ve işlevsel bir sözlük bir sürü şey kendini yazmak zorunda.
  • Tımar ya da kompozisyon için hiçbir sözdizimi noktası-serbest stil açıkça argüman ileterek gibi noktalama işaretleri ile ilgili olarak tam olduğu anlamına gelir.
  • Yineleyicisi yerine tembel listeler verimlilik ve dayanıklılık istemediğinizi bilmek, ve eğer sebat isterseniz 0* *etrafında çağırır dağılım anlamına gelir. (Kullanımına bir kez kullanın)
  • Python basit onun sözdizimi, basit LL1 kendi çözümleyici ile birlikte, eğer ifadeleri ve lambda ifadeleri için daha iyi bir sözdizimi neredeyse imkansız olduğu anlamına gelir. Guido böyle seviyor, ve sanırım haklı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Mark Hyder

    Mark Hyder

    6 EKİM 2011
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008
  • Strata1000

    Strata1000

    28 EYLÜL 2009