Jawaban yang disederhanakan adalah: ketika Anda melihat nama dalam bahasa yang murni fungsional, Anda tahu apa nilai yang terkait dengan pencarian sederhana dari definisinya. Jika Anda memiliki variabel yang dapat berubah, Anda hanya dapat mengetahui dari beberapa penugasan mana yang dieksekusi terakhir, jadi Anda juga harus menganalisis aliran kontrol, yang pada gilirannya mungkin bersyarat, membuat Anda memiliki banyak kemungkinan. Untuk mendapatkan ledakan eksponensial, Anda hanya perlu mempertimbangkan bahwa RHS dari tugas itu sendiri tergantung pada variabel, jadi Anda harus menganalisisnya secara rekursif juga.
Intinya dalam analisis di atas adalah bahwa hal itu tidak dapat dipertahankan tanpa komentar yang menjelaskan maksud, invarian, dan semantik: ini mungkin sulit untuk diartikan, dan mungkin sulit untuk memverifikasi semantik dipatuhi dalam kode aktual.
Jawaban ini pada dasarnya adalah perluasan dari poin 1 Javier.
Saya pikir ini juga merupakan penjelasan dari popularitas rezim OO yang curang: dengan OO keadaan yang bisa dirubah diringkas yang membuat analisis jauh lebih mudah dengan menempatkan mutasi pada tingkat tertentu, dan memungkinkan ekspresi dan verifikasi semantik yang jauh lebih kuat.
Setelah mencatat bahwa, pemrograman fungsional bukanlah jawabannya. Jawaban yang tepat adalah sistem yang mendukung pemrograman induktif (fungsional) dan koinduktif (prosedural), sehingga alat yang tepat dapat menangani pemrograman stateless dan stateful. Hanya saja teori konstruktif (fungsional) sudah mapan sedangkan teori manajemen negara masih dalam masa pertumbuhan.