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,
a = 1 a = a + 1
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
- Jika Anda ingin belajar FP untuk pekerjaan, maka tidak ada terlalu banyak lowongan di luar sana. Prosedural dan OOP masih menguasai pasar kerja. Tetapi FP dapat banyak membantu Anda dalam mengeksplorasi cara-cara baru untuk memecahkan masalah.
- Compiler FP tidak terlalu cepat. Karena FP lebih mementingkan penyelesaian masalah, Anda tidak dapat mengharapkan kecepatan C. Tetapi Anda masih bisa mengeluarkan instruksi ke compiler (di Haskell) untuk mempercepat proses eksekusi. Imbalannya adalah Anda mendapatkan banyak waktu berfokus pada program di tangan daripada bug pemadam kebakaran.