首先,摩尔定律只是一个经验观察。迟早,物理定律将意味着不再可能继续提高单处理器速度。摩尔定律不是中长期未来的有用预测器,甚至可能在短期内也不是。
其次,强类型语言和弱类型语言同样受到摩尔定律的影响。
第三,摩尔定律是关于单处理器的。我们已经进入一个通过多处理来增加原始计算能力的世界,但是还没有软件工具(例如语言)可以帮助普通乔程序员编写利用多处理的程序. 然而,函数式语言在这方面提供了比过程式语言更多的希望。
第四,我认为您实际上是在比较静态类型语言和动态类型语言。(术语“强类型”和“弱类型”由于定义冲突而变得如此混乱,以至于它们不再有意义。)
我想您的论点是摩尔定律意味着效率不那么重要,因此我们可以使用效率较低的计算范式“侥幸逃脱”;例如动态类型语言。(如果我们谈论的是交互式任务,计算机只需要跟上用户询问事物和心理处理答案的速度即可。)
这个论点的另一面是人们希望他们的计算机做更多计算密集型的事情。例如,每一代电脑游戏都需要更多的能量来处理图形。在线业务希望使用运行成本更低的硬件更快地做更多的事情(例如服务更多的网络请求)。简而言之,在很多情况下效率确实很重要,而且情况总是如此。
所以你会发现,在速度很重要的地方,我们倾向于使用高效的计算技术,而在不重要的地方,我们使用的技术可以最大限度地降低软件开发和维护成本。
更新
在重读我的答案时,我错过了一些东西。如果我们认为摩尔定律正在崩溃,并且未来计算“能力”的增长将以更多内核等形式出现,那么函数式语言的作用将会越来越大。
任何试图在命令式或 OO 语言中利用并行性的人都会认识到这是一个棘手的问题,充满了陷阱。相比之下,在纯函数式语言中,并行性要简单得多。由于数据结构的状态不会改变,因此您无需担心线程在使用数据结构时会同步。此外,语言的编译器或运行时系统更容易发现程序的特定部分可以并行完成......然后就去做。或者在更高级别,FP 语言 IDE(或其他)可以找到/建议大规模转换的机会以帮助并行执行。
IMO,这就是函数式语言流行(缓慢)上升的原因......