当前位置:  开发笔记 > 编程语言 > 正文

是否有一种函数式语言可以为Java社区提供F#为.NET社区所做的工作?

如何解决《是否有一种函数式语言可以为Java社区提供F#为.NET社区所做的工作?》经验,为你挑选了3个好方法。

是否有一种函数式语言可以为Java社区提供F#为.NET社区所做的工作?

JVM可用或正在开发哪些函数式编程语言?



1> jop..:

Scala将成为语言.

虽然不是严格的功能(它是功能和面向对象的混合)并且它并不严格用于Java(存在.NET版本的Scala),这将是JVM中与F#最接近的模拟.


阶:官能:: C++:面向对象

2> Mark Cidade..:

我想到的第一件事是Scala,但实际上Ocaml-Java更接近,因为F#是Ocaml的变体.请参阅此文章,将Ocaml-Java与Scala进行比较:

OCaml程序员的工作效率通常是Java或C++程序员的10倍,可用于各种实际任务.尽管F#基于一个基本的OOP平台,但F#在很大程度上捕获了OCaml(以及整个ML系列)提高生产力的好处.相比之下,Scala无法捕获许多好处,包括一些非常基本的好处,因此,在Scala中编写正确的代码比在任何真正的ML中要困难得多.

此外,ML系列语言设计简洁,但Scala对于"Hello world!"中的所有内容都是不必要的冗长.向上.ML系列语言提供了广泛的类型推断(OCaml比大多数语言更多),但Scala只通过比较进行了初步的推断.OCaml有一个非常具有表现力的类型系统,但Scala对OOP几乎没有什么实际意义.


链接帖子(Jon Harrop)的作者通常会使用网络和其他论坛来鼓励咨询业务.拿出他的建议,他正试图向你推销一些东西.
我不会成为Jon的忠实粉丝,但作为一名全职Haskell程序员(他选择从Java和Ruby转换),我同意他在Usenet帖子中提出的批评,以及他描述的功能类型是我在日常编程中不断依赖的东西.
这篇文章并没有给出任何建议 - 只是一些选择将OCaml与Scala进行比较的例子.无论作者是谁,这些例子都是有效的和说明性的,除非他通过提供可怜的Scala例子来制定一个稻草人的论点.

3> Nathan Shive..:

也许是Clojure.它不是静态类型的,但它比F#更强调不变性和并发性.但是,与F#(和Common Lisp不同)一样,它的目的是成为一种主要功能语言,擅长从底层平台消费OO库.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有