我在C/Fotran/numpy中做了一些数值/物理模拟,我使用Java (特别是正在处理中和jMonkey )来实现代码原型过程中的实时交互。
最近,我读到了Java 8的新特性,即:
在我看来,这似乎有点矛盾-功能编程和数字性能。也许只是我天真的偏见。
典型的论点是:
函数样式声明使代码比严格的顺序循环和可变数据类型更易于并行化,并使编译器具有更大的优化透明性。
好的,从理论上讲,这是有意义的,但在实践中,在诸如haskell、Erlang、Clojure和List这样的函数编程语言中,常见的破坏数字的操作似乎要比C或Java等命令式语言慢得多。这可能与您为抽象付出大量操作的事实有关--函数构造与机器代码和处理器的工作方式相差太远。这就是为什么我对函数式编程从来不感兴趣。
所以我的问题是:
发布于 2014-05-22 00:56:21
因此,对您的问题的回答是:不,如果您对Java 7和性能不感兴趣,那么编写代码的便利性就是考虑的问题。
价值类型建议可能会更有趣,但很难说它什么时候会在Java中出现(如果有的话)。
发布于 2016-11-24 08:55:25
我已经发现,新的功能特性不是最优化的做事方法,而是一种让老化的Java语言更有生命力的方法。实际上,我试图在我的工作环境中避免使用函数语法,直到代码质量工具等通常能够解析它。
使用功能特性很好,但是为什么不选择一种一开始就有功能的语言,比如Scala。或者至少比Java更现代一些,比如Ruby。
当然,新的语法很好,但是仍然感觉像是在XML文件中编写yaml。它本身看起来很好,但也有点可笑,当它周围的一切都是旧的风格。
https://stackoverflow.com/questions/23794213
复制相似问题