«functional-programming» etiketlenmiş sorular

Fonksiyonel programlama, çıktıları program durumundan ziyade girdileri ile belirlenen fonksiyonların zincirli değerlendirmesi ile hesaplama problemlerini çözmeye çalışan bir paradigmadır. Bu programlama tarzında, yan etkiler ve değişken veriler kullanımdan kaldırılmıştır ve genellikle kesin olarak izole edilmiştir.

18
Müşteriniz nesne yönelimli programlama kullanmamanızı isterse ne yaparsınız?
Karıncaların çalışmalarını bir ızgarada simüle etmek için bir program yazıyorum (PDF). Karınca dolaşabilir, bir şeyler toplayabilir ve bir şeyleri bırakabilir. Sorun şu ki, karıncaların hareketleri ve her karıncaların pozisyonları sınıf özellikleriyle kolayca izlenebilir (ve bu karıncaların pek çok örneğini kolayca yaratabiliriz) müşterim, işlevsel programlamada bir geçmişe sahip olduğundan, Fonksiyonel programlama …

5
İşlevsel Dillerde Asenkron Programlama
Ben çoğunlukla bir C / C ++ programcısıyım, bu da deneyimimin çoğunun usule dayalı ve nesne yönelimli paradigmalar ile yapıldığı anlamına geliyor. Bununla birlikte, birçok C ++ programcısının farkında olduğu gibi, C ++ yıllar içinde vurgusuyla fonksiyonel esque tarzına kaymış, sonunda C ++ 0x'deki lambda ve kapakların eklenmesiyle sonuçlanmıştır. Ne …

5
Ayrımcı sendikalar neden işlevsel programlama ile ilişkilendiriliyor?
OO programlamasının yıllarında, ayrımcı sendikaların ne olduğunu anladım, ancak onları gerçekten çok özlemedim. Son zamanlarda C # 'da bazı fonksiyonel programlama yapıyorum ve şimdi onlara sahip olmayı dilediğimi anlıyorum. Bu beni şaşırtıyor çünkü bunun karşısında, ayrımcı sendikalar kavramı işlevsel / OO ikilemesinden oldukça bağımsız görünüyor. Ayrımcı sendikaları OO'da olacağından daha …

4
Scala gibi işlevsel bir dilde neden bir ORM'ye ihtiyacım olmasın?
Desen eşleştirme, Seçenek gibi bazı Scala özelliklerinden ve genel olarak bana daha temiz bir sözdizimi gibi görünmesi için Spring + Hibernate projesinde Java'dan Scala'ya geçip geçemeyeceğimi merak ediyorum. Varsayılan olarak Scala ekosisteminde ORM'yi arıyorum ve Etkinleştir gibi düşündüklerini buldum (ancak çoğunlukla Hazırda Beklet seçeneğinin Scala ile kullanılıp kullanılamayacağını bulmaya çalışıyorum). …

10
Bir at sürüsü göz önüne alındığında, tek boynuzlu atların ortalama boynuz uzunluğunu nasıl bulabilirim?
Yukarıdaki soru, eski kodda karşılaştığım ortak bir problemin veya bu problemi çözmek için önceki girişimlerden kaynaklanan problemlerin daha doğru bir örneğidir. Yöntem gibi bu sorunu çözmeyi amaçlayan en az bir .NET framework yöntemi düşünebilirim Enumerable.OfType<T>. Ama nihayetinde çalışma zamanında bir nesnenin türünü sorguya çekmenizin gerçeği benimle tam oturmuyor. Her ata …

8
Tembel değerlendirme kavramı neden faydalıdır?
Öyle görünüyor tembel değerlendirme ifadelerin kendi kod çalıştırıldığında sırayla üzerinde kaybetmek kontrolüne bir programcı neden olabilir. Bunun neden bir programcı tarafından kabul edilebilir veya arzu edildiğini anlama konusunda sorun yaşıyorum. Bu paradigma, bir ifadenin ne zaman ve nerede değerlendirileceğini garanti etmediğimizde, amaçlandığı şekilde çalışan öngörülebilir bir yazılım oluşturmak için nasıl …

10
İşlevsel Programlama savunucuları bu ifadeye Kod Tamamlama'da nasıl cevap verebilir?
İkinci baskının 839. sayfasında, Steve McConnell, programcıların büyük programlarda "karmaşıklığı ele geçirme" yollarını tartışıyor. Tüyoları bu ifadeyle sonuçlandı: "Nesneye yönelik programlama , aynı zamanda algoritmalar ve veriler için geçerli olan bir soyutlama düzeyi sağlar , yalnızca işlevsel ayrışmanın tek başına sağlamadığı bir tür soyutlama sağlar." "Karmaşıklığın azaltılması tartışmalı olarak etkili …

5
UNIX felsefesinde programlama İşlevsel programlama ile aynı mıdır?
UNIX Programlama Ortamı (klasik metin), UNIX'in programlama yaklaşımının daha karmaşık sorunları çözmek için birleştirilebilecek küçük, iyi tanımlanmış araçlar oluşturmak olduğunu belirtir. C ve Bash kabuğunu öğrenirken, bunu çok çeşitli programlama problemleriyle başa çıkmada kullanılabilecek güçlü bir kavram olarak buldum. Sadece bir Linux platformu kullanarak, konsept oldukça açık ve her zaman …

3
Web hizmetleri için Haskell vs Erlang
Fonksiyonel bir dil kullanarak deneysel bir projeye başlamak istiyorum ve Erlang ve Haskell arasındaki karar vermeye çalışıyorum ve her ikisinin de gerçekten sevdiğim bazı noktaları var. Haskell'in güçlü tip sistemini ve saflığını seviyorum. Gerçekten güvenilir kod yazmayı kolaylaştıracağına dair bir his var. Ve Haskell'in gücünün, yapmak istediklerimin bir kısmını daha …

3
Bir monad görmenin farklı yolları
Haskell'i öğrenirken, Monad'ın ne olduğunu ve Haskell'de neden monadların önemli olduğunu açıklamaya çalışan birçok dersle karşılaştım. Her biri analojiyi kullandı, bu yüzden anlamı yakalamak daha kolaydı. Günün sonunda, bir monadın ne olduğuna dair 3 değişik görüş ortaya çıktı: 1 görüntüle: Monad bir etiket olarak Bazen bir monadın belirli bir tip …

4
Haskell'de return-type- (only) -polymorphism iyi bir şey midir?
Haskell'de hiç tereddüt etmeyeceğim bir şey, geri dönüş tipi giriş türüyle belirlenemeyen polimorfik sabitleri ve fonksiyonları nasıl elde edebileceğinizdir. class Foo a where foo::Int -> a Bundan hoşlanmadığım nedenlerden bazıları: Referans şeffaflığı: "Haskell'de, aynı girdi verilirse, bir işlev her zaman aynı çıktıyı döndürür", ama bu gerçekten doğru mu? bağlamda read …

3
F # 'da rec anahtar sözcüğü neden gerekli?
F # 'da recanahtar kelimeyi kullanmak gereklidir . Haskell'de, belirli bir fonksiyonun özyinelemeli olup olmadığını açıkça söylemek gerekmez. Fonksiyonel programlamada özyinelemenin rolü göz önüne alındığında, F # tasarımı bana biraz tuhaf geliyor. İyi bir dil tasarım kararı mıdır yoksa yalnızca tarihsel nedenlerden dolayı mı yoksa uygulama kısıtlaması nedeniyle mi var?


5
İstisnaları yakalamak / atmak, aksi halde saf bir yöntemi zorlaştırıyor mu?
Aşağıdaki kod örnekleri sorumu bağlamı sağlar. Room sınıfı bir temsilci ile başlatıldı. Room sınıfının ilk uygulamasında, delegelere istisnalar atan hiçbir muhafız yoktur. Bu istisnalar, delegenin değerlendirildiği Kuzey mülkünde kabarcıklı olacaktır (not: Main () yöntemi, bir Oda örneğinin müşteri kodunda nasıl kullanıldığını gösterir): public sealed class Room { private readonly Func<Room> …

7
İşlevsel programlama “Modüllere Ayrıştırma Sistemlerinde Kullanılacak Kriterler Üzerinden” (veri gizleme) 'den kazanılan faydaları görmezden geliyor mu?
İlk kez okuduğum Modüllere Ayrıştırma Sistemlerinde Kullanılacak Kriterler Üzerine adlı klasik bir makale var . Bana çok mantıklı geliyor ve muhtemelen OOP'un dayandığı makalelerden biri. Sonuç: Bu örneklerle, bir sistemin bir akış şeması temelinde modüllere ayrıştırılmasının başlamasının neredeyse her zaman yanlış olduğunu göstermeye çalıştık. ... Her modül daha sonra böyle …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.