Functional programming 函数式语言的商业用途和可集成性 我对函数语言有浓厚的兴趣,因为它们有很多优点,但我不知道它们是否真正在实践中被使用,以及它们如何被集成到主流的java、C++或C++环境中。一个与其他不懂函数式语言的程序员一起工作的程序员,能将它与其他语言结合使用吗?当其他人不理解一个团队成员生成的代码时,这是一个问题,但是用Scala编写的Java字节代码可以很容易地反编译为纯Java

Functional programming 函数式语言的商业用途和可集成性 我对函数语言有浓厚的兴趣,因为它们有很多优点,但我不知道它们是否真正在实践中被使用,以及它们如何被集成到主流的java、C++或C++环境中。一个与其他不懂函数式语言的程序员一起工作的程序员,能将它与其他语言结合使用吗?当其他人不理解一个团队成员生成的代码时,这是一个问题,但是用Scala编写的Java字节代码可以很容易地反编译为纯Java,functional-programming,jvm-languages,Functional Programming,Jvm Languages,我知道Java和Clojure以及Java和Scala之间的集成非常好, 但是,像C++之类的其他语言呢? < P > Haskell有一个相当成熟的。我只使用它来调用C库,但也可能相反 一个与其他不懂函数式语言的程序员一起工作的程序员,能将它与其他语言结合使用吗 对。这通常通过“外部功能接口”实现。根据您的语言实现,将或多或少地支持从您的语言或其他语言调用 我对函数式语言很感兴趣,因为它们有很多优点,但我不知道它们是否真的被用于实践 它们当然是,尽管远不及面向对象或过程语言 它们可以集成到主流

我知道Java和Clojure以及Java和Scala之间的集成非常好,
但是,像C++之类的其他语言呢?

< P > Haskell有一个相当成熟的。我只使用它来调用C库,但也可能相反

一个与其他不懂函数式语言的程序员一起工作的程序员,能将它与其他语言结合使用吗

对。这通常通过“外部功能接口”实现。根据您的语言实现,将或多或少地支持从您的语言或其他语言调用

我对函数式语言很感兴趣,因为它们有很多优点,但我不知道它们是否真的被用于实践

它们当然是,尽管远不及面向对象或过程语言

<>它们可以集成到主流java、C++或C++环境中。 “集成到另一个环境中”有三种不同的定义。我在这里按优先顺序列出它们。第一个比最后一个理智得多

  • 通常的做法是在前端使用Java或C#,然后在后端使用Erlang或Scala或其他东西。这意味着两个不同的团队使用两种不同的语言,做完全不同的事情。集成在产品级别,两个不同的部分通过网络协议或其他方式进行通信

  • 第二种集成是关于在Scala中使用Java库,这种情况经常发生,即使是在其他语言中。这要求调用语言能够从库语言调用函数

  • 同样的团队在C++和Scala的同一程序上工作,也存在“集成”,这是困难和罕见的。

    一个与其他不懂函数式语言的程序员一起工作的程序员,能将它与其他语言结合使用吗

    可以吗?当然应该绝对不是。为了团队合作,团队必须就他们所懂的语言达成一致。团队成员将审查、帮助编写文档并修复代码错误,因此他们应该能够阅读代码

    当其他人不理解一个团队成员生成的代码时,这是一个问题,但是用Scala编写的Java字节代码可以很容易地反编译为纯Java

    不是以一种读起来有点实际的方式。由于Scala的工作方式如此不同,它的字节码看起来也非常奇怪

    <>我知道集成在java和Culjule和java和斯卡拉之间很好,但是C++等? 许多语言都提供FFI(外文函数接口),这是一种从您的语言调用其他语言编写的函数的方法。Haskell有一个用于C代码的FFI,这意味着您可以在Haskell代码中使用任何C库。这取决于语言,很难给出任何一般性的答案


    ,因此,从Scala或Clojure也可以使用它。

    scalac生成的JVM字节码可以反编译成Java,但结果不会像任何可读或可维护的东西。您需要更具体一些。“与其他语言结合”是什么意思?取决于应用程序域,创建软件的各种方法,例如使用C++和CuljueC.根据你的工作流程的设计,C++程序员可能不需要知道任何Culjue.Scala/Culjulejava代码都可以编译成一个.jar,但是C++代码也可以与函数编程语言的代码一起编译成一个可执行文件吗?函数式语言和Java在现实项目场景中的结合使用真的很丰富吗?还是可能的缺点大于可能的好处?谢谢。至于Clojure,你可以将C++代码集成到java中,就像本教程中描述的一样。然后使用Java互操作从Clojure调用此Java。