c - 为什么函数式编程优于 C

标签 c functional-programming

函数式编程与普通过程语言(如 c)或面向对象编程语言(如 c++)相比有何用处?它的亮点在哪里?

最佳答案

C 缺乏一些需要解决的函数式编程功能(同样,虽然您可以用 C 语言编写面向对象的风格,但您也需要解决一些缺失的功能)。

C 函数不是一等对象。您不能从函数返回函数、将函数存储在变量中或将函数传递给另一个函数。您不能嵌套函数,也不能创建匿名函数。解决方法是,C 确实允许您使用函数指针,因此您可以编写一个将函数指针作为参数的函数,但这并不像在面向函数式编程的语言中所做的那样干净。

C 缺乏闭包,闭包是捕获程序中特定点的执行“环境”的一种方式(即,变量名绑定(bind)到什么)。

C 缺乏泛型,除了最广泛的意义上。在大多数函数式语言中,可以编写一个适用于大量不同类型的函数,因为它们不依赖于这些类型的特定属性。

关于c - 为什么函数式编程优于 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56697403/

相关文章:

scala - 输入隐式的同义词?

functional-programming - Elixir 中是否有等效于 Haskell 的 init 函数?

c - OpenSSL 1.0.2 和错误 "SSL_CTX_new:library has no ciphers"

c - strcmp(字符串比较)到底在做什么?

javascript - react : Why is it necessary to have immutable props if values are passed as by value anyway?

functional-programming - Kotlin 中的内存功能

python - Python中的Clojure风格函数 "threading"

c++ - 我如何试验垃圾收集?

c - 静态链接 OpenSSL 正在尝试加载 DLL

c++ - clang-format:在新行上大括号,空 block 除外