Function 一类函数的缺点

Function 一类函数的缺点,function,Function,在一门语言中有什么缺点吗 乔尔在这里说 面向对象编程语言并不完全相信这一点 应该允许您对函数执行任何操作 我在这里可能有些幼稚,但如果没有太多问题,为什么所有语言都不支持一流函数呢?如果引入此更改需要重新编写语言编译器、解释器和其他工具,那么添加此功能可能是一个缺点。如果语言的文化不太熟悉此功能提供的优势,那么这也可能是一个缺点,在这种情况下,添加此功能是一种浪费。在一个理想的世界中,开发新功能从来没有成本,我能看到的包含函数式编程技术的唯一缺点是,对不熟悉函数式编程技术的开发人员来说,会感到困

在一门语言中有什么缺点吗

乔尔在这里说

面向对象编程语言并不完全相信这一点 应该允许您对函数执行任何操作


我在这里可能有些幼稚,但如果没有太多问题,为什么所有语言都不支持一流函数呢?如果引入此更改需要重新编写语言编译器、解释器和其他工具,那么添加此功能可能是一个缺点。如果语言的文化不太熟悉此功能提供的优势,那么这也可能是一个缺点,在这种情况下,添加此功能是一种浪费。

在一个理想的世界中,开发新功能从来没有成本,我能看到的包含函数式编程技术的唯一缺点是,对不熟悉函数式编程技术的开发人员来说,会感到困惑(我真的没有看到这么多的缺点)


实际上,将函数视为第一类通常需要对编译器本身进行大量重写。这样做的成本必须与长期收益进行权衡。

此外,一流函数需要对代码进行运行时解释和某种形式的垃圾收集。这两种方法都会增加开销,可能不适合某些问题和语言。

不一定。有些语言具有第一类函数,这些函数不会被解释,也没有GC(f.e.C++)。但是,如果没有GC,闭包更难实现。