Dalam bahasa pemrograman fungsional yang cukup kuat (misalnya, dengan tipe data untuk menerapkan penutupan ) Anda dapat menghilangkan semua penggunaan urutan yang lebih tinggi dengan transformasi defungsionalisasi . Karena metode ini digunakan untuk mengkompilasi jenis bahasa ini, Anda dapat beranggapan bahwa ini tidak memengaruhi kinerja dan bahwa dalam pengaturan ini, tatanan yang lebih tinggi tidak membuat bahasa menjadi kurang kuat. Namun itu tidak mempengaruhi cara menulis kode.
Namun jika bahasanya tidak cukup kuat, maka ya, tatanan yang lebih tinggi memang memberikan kekuatan ekspresif. Pertimbangkan kalkulus lambda: tanpa fungsi tingkat tinggi, ia benar-benar tidak dapat melakukan apa pun, sebagian besar karena tipe data paling dasar (integer, boolean) diimplementasikan menggunakan fungsi.
Kesimpulannya, itu sangat tergantung pada bahasa.
Di atas adalah jawaban saya. Di bawah, komentar tentang asumsi umum tentang bahasa imperatif.
tentang sebuah algoritma yang pada bahasa pemrograman fungsional non-malas memiliki kompleksitas , sedangkan algoritma yang sama dalam pemrograman imperatif adalah Ω ( n ) . Menambahkan kemalasan ke bahasa FP akan membuat algoritma Ω ( n ) .Ω(nlogn)Ω(n)Ω(n)
Saya ingin melihat referensi ini. Asumsi yang biasa adalah bahwa akses ke array panjang dalam RAM adalah dalam waktu O ( 1 ) dan setara dalam FP murni adalah dalam waktu O ( log n ) . Itu tidak sepenuhnya benar: waktu akses dalam RAM adalah dalam O ( lognO(1)O(logn) mana m adalah ukuran memori. Tentu saja, m ≥ n . Dalam praktiknya mengakses elemen array jauh lebih cepat. Alasannya adalah bahwa m dibatasi tetapi ... begitu juga n !O(logm)mm≥nmn
SUNTING: terima kasih atas tautannya (tautan untuk makalah tentang kemalasan tidak tersedia, berikut ini adalah satu lagi ). Seperti yang diposting di komentar dan di atas dalam jawaban saya, model RAM sedikit tidak adil untuk FP murni dengan memberikan waktu pencarian bahkan ketika ukuran satu alamat tidak dibatasi. Saya belum mengerti bagaimana trik malas bekerja tetapi saya pikir penting untuk dicatat bahwa ini hanya untuk masalah khusus ini.O(1)