Fonksiyonel Programlama vurgu Çok özyineleme, neden?
Fonksiyonel Programlama [FP] (Scala kullanarak) ile tanıştırdı alıyorum. Benim ilk öğrendiklerini gelecek bir FPs ağır özyineleme kullanan. Ve aynı zamanda gibi görünüyorsafFPs tek yolu yinelemeli bir şeyler yapmak için özyinelemeli fonksiyonlar yazmak.
Ve özyineleme ağır kullanımı nedeniyle görünüyor FPs endişelenmek zorunda sonraki şey, uzun, dolambaçlı özyinelemeli aramaları bağlı olarak StackoverflowExceptions
. Bu bazı iyileştirmeler (Scala v2 stackframes ve @tailrec
Dipnot bakımı ile ilgili iyileştirmeleri kuyruk özyineleme.sunarak ele alınmıştı 8'den itibaren)
Birisi özyineleme fonksiyonel programlama paradigma için neden bu kadar önemli olduğunu bana aydınlatmak lütfen? "İhlal halinde yaparsak" yinelenen şeyler? alır fonksiyonel programlama dil özelliklerine bir şey var Evet, o zaman bu kadar iyi olacağını merak ediyorum.
PS: eğer soruma cevap/açıklamak durumunda mevcut kaynakları bana gelin çekinmeyin yani fonksiyonel programlama acemi olduğumu Unutmayın. Ayrıca özellikle Scala de yinelemeli şeyler yapmak için destek sağlar anlıyorum.
CEVAP
Church Turing thesis farklı hesaplanabilirlik modelleri arasında denklik vurgular.
Özyineleme kullanarak bir ihtiyacımız yokdevlet kesilebilirçözerkenbazısorun, bu mümkün daha basit açısından bir anlam belirtmek için. Böylece çözüm basit, biçimsel anlamda olabilir.
Bu Prolog fonksiyonel dilinden daha iyi özyineleme etkinliği (yineleme yok) gösterir bence, ve pratik sınırları biz bunu kullanırken karşılaşma.
Neden't fonksiyonel programlama h...
Neden't Python fonksiyonel progra...
Neden fonksiyonel programlama uygulama...
Nedir (fonksiyonel) reaktif programlam...
Fonksiyonel Programlama GoF Tasarım De...