Saya mencari buku yang menjelaskan pemrograman fungsional dengan cara yang dapat diakses. Saya juga lebih suka yang tidak terlalu membosankan, dan tidak menggunakan bahasa esoterik.
Idealnya itu akan menggunakan contoh yang menunjukkan situasi di mana pemrograman fungsional mengarah ke solusi yang lebih elegan atau lebih sederhana daripada pendekatan imperatif.
Saya memiliki cukup banyak pengalaman pemrograman, tetapi tidak memiliki pengetahuan pemrograman fungsional. Terima kasih atas sarannya
books
functional-programming
Antonio2011a
sumber
sumber
Jawaban:
Saya akan sugest dimulai dengan " The Little Schemer " (dan mungkin " The Reasoned Schemer " setelah itu).
Jika Anda pikir Skema terlalu esoteris, atau jika Anda suka Javascript, Douglas Crockford telah menerjemahkan banyak latihan ke dalam Javascript: http://javascript.crockford.com/little.html
Jika Anda menikmati C #, " Pemrograman Fungsional Dunia Nyata " oleh Tomas Petricek akan menjadi tempat yang sangat baik untuk memulai. Ini juga berfungsi sebagai pengantar yang bagus untuk F #.
sumber
Jika Anda menyukai Bahasa dan [Kurung] Yang Diketik Secara Statis:
Haskell sementara agak berat pada kemurnian paradigma pemrograman, memiliki salah satu pengantar terbaik untuk bahasa yang belum saya lihat dalam bentuk "Pelajari Anda Haskell Untuk Bagus!". Formulir buku adalah opsional karena situs web ini gratis tetapi ini adalah satu penulis yang saya tidak merasa sama sekali underwhelmed oleh. Dunia Nyata Haskell baik tetapi benar-benar lebih baik diambil sebagai tindak lanjut dari [Learn..Good]. RWH juga gratis dengan kebaikan kertas opsional.
Dari Haskell Anda dapat beralih dengan mudah ke varian ML lainnya seperti F # atau OCaml yang keduanya lebih banyak digunakan. Untuk tepi pendarahan ATS .
Jika Anda suka (dan Dynamic_Typing Parentheses):
Skema lebih berorientasi secara fungsional dari dua dialek Lisp utama, lebih kecil dan lebih murni daripada Common Lisp tetapi kurang banyak digunakan dalam industri. Saya pribadi suka The Structure and Interpretation of Computer Programs, tetapi ini adalah teori yang cukup berat, bahwa walaupun agak sulit untuk ditelan akan membuat Anda menjadi programmer yang lebih baik.
Jika Anda lebih memilih Common Lisp, Common Lisp Praktis atau Land of Lisp tampak seperti investasi yang baik, yang pertama adalah online gratis dan yang kedua cukup murah dan yang lebih penting (untuk beberapa) game fokus. Ini lebih kuat meskipun kurang murni dari Skema.
Dari ini, Anda dapat memperluas ke Clojure jika Anda mau. Ini Lisp untuk JVM sehingga lebih mudah untuk digunakan dan lebih mampu bertahan dari tuduhan menjadi "akademis" yang dapat digunakan Clojure ke .NET dan beralih ke Javascript juga. Untuk .NET asli, coba IronScheme .
Anda juga dapat memisahkan perbedaan dan mempelajari keduanya sekaligus dengan Write Yourself a Scheme dalam 48 Jam di Haskell.
sumber
Sumber favorit saya adalah Pengantar Lembut untuk Haskell . Saya membaca bagian dari Learn you a Haskell dan O'Reilly Real-World Haskell dan Simon Thompson's Craft of Functional Programming , tapi jujur saya melakukan lebih baik dengan intro yang lembut. Ini seperti K&R Haskell: dokumen tipis yang diproduksi oleh pencipta bahasa. Tidak bertele-tele, tidak menggurui, tetapi tidak mencoba membebani Anda dengan pengetahuan mereka, juga.
sumber
http://hop.perl.plover.com/ termasuk buku yang dapat Anda unduh secara gratis. Ini menjelaskan cara menggunakan banyak teknik fungsional di Perl.
Sebagian besar dari apa yang dikatakannya dapat dengan mudah diterjemahkan ke dalam JavaScript, Ruby atau Python.
sumber
Saat ini saya sedang belajar pemrograman fungsional. Namun saya belajar menggunakan Haskell.
Berikut adalah beberapa buku online (Anda juga dapat membelinya di hardcover iirc)
Haskell tidak esteroik dan menjadi lebih utama (kemungkinan tidak mainstream seperti LISP atau Erlang). Namun itu adalah bahasa fungsional murni, dan akan memaksa Anda untuk mempelajari paradigma pemrograman fungsional. Sebagai lawan dari pendekatan setengah fungsional setengah imperatif Anda akan mendapatkan menggunakan bahasa yang tidak murni fungsional.
Orang-orang telah mengembangkan WebServers, Klien Bittorrent dan beberapa aplikasi dunia nyata menggunakan haskell. Namun saya pribadi menggunakannya untuk mempelajari konsep-konsep dan kemudian menerapkannya ke C # & F # yang bekerja sangat baik sejauh ini.
Nikmati.
sumber
Saya mendengar hal-hal baik tentang "Struktur dan Interpretasi Program Komputer" beberapa kali. Ini buku nyata, jadi Anda mungkin ingin mendapatkannya di Paper juga, lihat http://www.amazon.co.uk/Structure-Interpretation-Computer-Electrical-Engineering/dp/0262510871 .
Ini tersedia secara bebas di sini http://mitpress.mit.edu/sicp/ ( http://mitpress.mit.edu/sicp/full-text/book/book.html ) dan bahkan ada video ceramah ( http: //groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/ )
sumber
Pemrograman di Haskell
Anda mungkin tidak memutuskan untuk membelinya, tetapi beranda buku itu (lihat di atas) menautkan ke 13 saluran 9 video pada pemrograman Haskell.
sumber