三、下面是一個使用 Scheme functional language 寫成之程式。回答下列問題:(25 分) (define unknown (lambda (L) (cond ((null? L) L) ((null? (cdr L)) L) ((eqv? (car L) (car (cdr L))) (unknown (cdr L))) (else (cons (car L) (unknown (cdr L))))))) 請說明 Functional Language 之主要優缺點。
詳解 (共 1 筆)
詳解
Functional Language 之主要優點:
易於編寫和維護:由於 Functional Language 程序是由函數組成的,因此它們往往比其他編程語言更簡潔和易於編寫和維護。
沒有副作用:Functional Language 程序的函數不會改變傳遞給它們的參數或全局變數。這種純函數的特性使得程序更容易理解和測試,也使得它們更加安全。
可擴展性:Functional Language 可以通過將函數組合在一起,創建更複雜的函數,從而編寫更複雜的程序。這種模塊化的設計使得 Functional Language 程序更容易擴展。
計算的表達力:Functional Language 提供了豐富的工具和技術,使得它們可以描述和實現非常複雜的計算,如遞歸、高階函數、模式匹配等。
Functional Language 之主要缺點:
學習曲線:由於 Functional Language 通常與傳統的命令式編程語言不同,因此對於新手來說學習曲線可能比較陡峭。
效能問題:由於 Functional Language 程序通常遵循一些編譯器無法進行優化的規則,因此它們在某些情況下可能比命令式編程語言的程序執行速度更慢。
記憶體使用問題:Functional Language 程序通常涉及創建和傳遞很多對象,這可能會導致記憶體使用問題。