我在这里看到很多关于函数式语言的讨论。为什么你要使用传统语言而不是传统语言呢?他们在哪些方面做得更好?他们更不擅长什么?理想的函数式编程应用程序是什么?


当前回答

我个人认为,对于分布式系统和多线程/并行编程,函数式编程将很快取得突破。只要它通过编程库与现有的OOP范式集成。所以…在我看来,纯功能的方法仍将停留在学术上。

其他回答

我个人认为,对于分布式系统和多线程/并行编程,函数式编程将很快取得突破。只要它通过编程库与现有的OOP范式集成。所以…在我看来,纯功能的方法仍将停留在学术上。

如果一个人看不到其他艺术的价值,他就无法理解他所选择的艺术的完美和不完美。遵循规则只允许在技术上发展到一定程度,然后学生和艺术家必须学习更多,进一步探索。在学习战略艺术的同时,学习其他艺术也是有意义的。

谁没有通过观察别人的活动来更多地了解自己呢?要学剑,就要学吉他。要学商业,先学商业。只学习刀剑会使你心胸狭窄,不能向外成长。

——宫本武藏《五环之书》

我没有看到任何人在这里提到房间里的大象,所以我认为这取决于我:)

JavaScript是一种函数式语言。随着越来越多的人使用JS做更高级的事情,特别是利用jQuery、Dojo和其他框架的优点,FP将通过web开发人员的后门引入。

与闭包结合使用,FP使JS代码非常轻便,但仍然可读。

欢呼, PS

大多数应用程序都可以用[此处插入您最喜欢的语言、范例等]来解决。

尽管如此,不同的工具可以用来解决不同的问题。函数只是允许另一种更高层次的抽象,当正确使用时,它允许我们更有效地完成工作。

我要指出的是,你所说的关于函数式语言的一切,大约20年前,大多数人都在谈论面向对象语言。在那时候,OO是很常见的:

* The average corporate programmer, e.g. most of the people I work with, will not understand it and most work environments will not let you program in it
* It's not really taught at universities (or is it nowadays?)
* Most applications are simple enough to be solved in normal IMPERATIVE ways

改变必须来自某个地方。无论接受过早期技术培训的人是否认为变革没有必要,有意义的重要变革都会发生。尽管当时有很多人反对,但你认为向OO的转变是好的吗?