üst düzey fonksiyonel programlamaya nasıl geçilir [kapalı]


12

ilk önce bu soru için doğru yer değilse özür dilerim ama ben hiçbiri StackOverflow emin th.CS doğru yer olmadığını düşünüyorum.

İşlevsel programlamayı gerçekten seviyorum ve F #'da orta düzey bir adam olduğumu düşünüyorum ve Haskell'in temel kavramlarını oldukça iyi anlıyorum - ve evet sanırım bir Monad'ın ne olduğunu bildiğim gibi biliyorum / düştüm.

Şimdi bunu bir sonraki seviyeye taşımak istiyorum ve functors ve diğer şeyler hakkındaki tüm konuşmanın ne anlama geldiğini anlamak istiyorum. Nereden başlayacağımı bilmiyorum.

Lambda Matematik hakkında bir şeyler okuyun? Kategori Teorisi? Her ikisi de biraz biliyorum ve bunun aydınlanmanın doğru / hızlı yolu olduğunu düşünmüyorum.

Belki bana bununla ilgili bazı ipuçları verebilirsin.

PS: matematik korkmuyorum ve ben kolayca alıştırmalar hayal kırıklığına uğratmak değil ama ben bazı kodları nereye koyabilirsiniz bazı intros / metin tercih ederim çünkü bu şekilde bir kerede geri bildirim almak.

Yanıtlar:


6

F # iyi bir başlangıçtır, Haskell ile devam etmeli ve kesinlikle lambda hesabını okumalı ve yukarıda belirtilen Lambda Kağıtlarını okumalısınız .

Hibrit bir dili (Clojure, Scala, OCaml, ...) kullanmak, bir OO arka planından gelirseniz onu hafifletmeye yardımcı olabilir, ancak bence gerçekten fonksiyonel program zihniyetini anlamak istiyorsanız, gerçek şey (Haskell, Lisp, ...).


teşekkürler - tabii ki F # (üretim kodunda kullanabilirsiniz ...) sopa olacak ve daha fazla haskell öğrenmeye çalışacağız - ama bu daha zor çünkü haskell konsol uygulamaları daha başka şeyler yapmak oldukça zor buluyorum (hala). - Şema güzel olabilir (Lisp'te bir kez kısa bir bölüm vardı) ama OCaml neredeyse F # ile aynı (sanırım)
Carsten

@ CarstenKönig: Bir kullanıcı arayüzü hakkında endişelenmeden yapabileceğiniz pek çok ilginç proje var. Bir programlama dili üzerinde harika bir seçenek: Haskell'de basit bir Şema veya Prolog yorumlayıcısı yazmak harika bir alıştırmadır ve komut satırında mutlu bir şekilde yaşar.
Tikhon Jelvis

4

Eğer zaman sahip olduğunuz bir lüksse bu üç kitabı okumanızı tavsiye ederim:

Bu üç kitap genel olarak Fonksiyonel Programlama anlayışınızı zenginleştirecektir.


ATM zamanı bir sorun değil - ve akşamları enerjiyi yine de bulursam biraz zaman alacağım ... yavaş olabilir ama normalde çok okuyabilirim. Tabii ki bu tür kitaplarda hızım yavaş yavaş sürünecek ... teşekkürler (ne yazık ki sonuncusu baskı dışında görünüyor ... ekrandan okumaya dayanamıyorum)
Carsten

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.