bagaimana cara maju ke pemrograman fungsional tingkat yang lebih tinggi [ditutup]

12

pertama saya minta maaf jika ini bukan tempat yang tepat untuk pertanyaan ini, tetapi saya pikir th.CS bukan tempat yang tepat untuk memastikan tidak ada StackOverflow.

Saya sangat suka pemrograman fungsional dan saya pikir saya seorang pria tingkat menengah di F # dan memahami konsep dasar Haskell dengan cukup baik - dan ya saya pikir saya tahu / jatuh seperti saya tahu apa itu Monad.

Sekarang saya benar-benar ingin membawa ini ke tingkat berikutnya dan ingin memahami apa yang dibicarakan oleh semua functors dan yang lainnya. Saya tidak tahu harus mulai dari mana.

Baca sesuatu tentang Lambda Calculus? Teori Kategori? Keduanya saya tahu sedikit dan saya tidak berpikir bahwa ini adalah cara yang tepat / tercepat untuk mencapai pencerahan.

Mungkin Anda bisa memberi saya beberapa petunjuk tentang itu.

PS: Saya tidak takut matematika dan saya tidak mudah frustrasi pada latihan tetapi saya lebih suka beberapa intro / teks di mana Anda dapat meletakkan beberapa kode karena cara ini Anda mendapatkan umpan balik sekaligus.

Carsten
sumber

Jawaban:

6

F # adalah awal yang baik, Anda harus terus menggunakan Haskell, dan pasti membaca tentang kalkulus lambda dan membaca Lambda Papers yang disebutkan di atas.

Menggunakan bahasa hibrid (Clojure, Scala, OCaml, ...) mungkin membantu meringankannya jika Anda berasal dari latar belakang OO, tapi saya pikir jika Anda benar-benar ingin memahami pola pikir progamming fungsional, Anda sebaiknya memilih hal yang nyata (Haskell, Lisp, ...).

haylem
sumber
terima kasih - tentu saja saya akan tetap menggunakan F # (saya dapat menggunakan ini dalam kode produksi ...) dan saya akan mencoba untuk mempelajari lebih banyak haskell - tetapi ini lebih sulit karena saya merasa agak sulit untuk melakukan hal-hal lain daripada konsol-aplikasi di haskell (namun). - Skema mungkin bagus (pernah memiliki episode pendek di Lisp sekali) tetapi OCaml hampir sama dengan F # (saya pikir)
Carsten
@ CarstenKönig: Ada cukup banyak proyek yang sangat menarik yang dapat Anda lakukan tanpa khawatir tentang UI. Pilihan yang bagus adalah mengerjakan bahasa pemrograman: menulis Skema atau juru bahasa Prolog sederhana di Haskell adalah latihan yang luar biasa dan hidup bahagia di baris perintah.
Tikhon Jelvis
4

Saya sarankan Anda membaca ketiga buku itu jika waktu adalah kemewahan yang Anda miliki:

Ketiga buku itu akan memperkaya pemahaman Anda tentang Pemrograman Fungsional secara umum.

Chiron
sumber
Waktu ATM bukan masalah - dan saya akan mengambil beberapa waktu jika saya menemukan energi di malam hari ... mungkin lambat tapi biasanya saya bisa membaca banyak. Tentu saja dengan buku-buku semacam itu saya langkah saya akan lambat merangkak ... terima kasih (sayangnya yang terakhir tampaknya tidak dicetak ... tidak tahan membaca dari layar)
Carsten