Ketika beralih ke gaya fungsional pemrograman setelah datang dari prosedural dan OOP, hal-hal apa yang perlu saya ketahui di muka tentang "cara berpikir baru ini"?
Bagaimana Anda mempersiapkan diri untuk menyelam di dunia FP dan melakukannya pertama kali?
Apa dasar-dasar untuk dipelajari dan diluruskan terlebih dahulu?
functional-programming
JohnDoDo
sumber
sumber
Jawaban:
Dapatkan salinan "Struktur dan interpretasi program komputer" dan kerjakan sendiri melalui bab pertama "Membangun abstraksi dengan Prosedur". Pengantar terbaik untuk pemrograman fungsional yang pernah saya miliki.
EDIT: Jika Anda menginginkan sesuatu yang lebih komparatif, coba "Tujuh bahasa dalam tujuh minggu" (disclaimer: buku ini masih dalam daftar TODO saya).
sumber
Anda akan membutuhkan pemikiran deklaratif alih-alih prosedur "pertama lakukan ini, lalu lakukan ini, kemudian lakukan ini ..." cara memecahkan masalah. Memahami rekursi mungkin merupakan titik awal yang baik, karena itu adalah semacam sweet spot antara pemikiran prosedural dan deklaratif.
sumber
Anda telah meletakkan kereta di depan kuda. Anda tidak perlu bersiap. Pilih saja bahasa yang terlihat menarik, temukan beberapa dokumentasi, dan coba. Jika Anda buntu, maka berhentilah dan cari jawaban. Ketika Anda maju, cara berpikir Anda akan berubah.
sumber
FP didasarkan pada lamdba calculus. Anda harus tahu itu. Ini adalah titik awal yang baik. Fungsi adalah segalanya. Tidak ada konsep negara (meskipun Anda bisa memalsunya di tingkat yang lebih tinggi).
Dalam OOP,
diterima. Tidak demikian di FP. Anda tidak bisa memberikan variabel nilai yang lain. Jika Anda ingin belajar FP untuk jangka panjang, pelajari Haskell. Ini adalah versi paling murni dari FP di luar sana dan juga cukup rumit (saya baru saja mulai mempelajarinya) tetapi masih layak untuk dipelajari.
Pengantar Pemrograman Fungsional memberi Anda gambaran tingkat tinggi tentang apa itu FP.
Namun dua peringatan
sumber
Saya mencoba yang terbaik untuk mengingat mantra berikut:
sumber