对功能语言感到困惑

bvd*_*vdb 0 ruby haskell functional-programming scala

我已经用面向对象的语言开发了10多年了(C#和java).但是越来越多的人听到很多人在谈论函数式编程语言:Ruby,Scala,Haskell,......

虽然我已经阅读了很多关于这些编程语言的知识.不幸的是,大多数教程大部分时间都在谈论语法.但我没有找到任何解释这些领域或任何提供这些语言的典型实际应用的语言的教程.

我遇到了很多问题,下面是我脑海中简单问题的简短列表.

它们是独立语言吗?

  • 是否可以在其他编程语言中使用函数式语言.与Java/C#一样使用其他语言,如SQL,Regex,HQL,XQL,......?
  • 如果单独使用,它们是否使用编译器?

他们的框架有多强大?

  • 是否支持窗口或对话框等图形组件?
  • 是否支持多线程?
  • 是否支持套接字交互,webservices?

简介:有人可以快速回答我提到的问题,或者甚至更好,您能否通过实际示例为我提供一些教程链接?

先感谢您.

编辑:简化/删除了一些问题

Tho*_*son 14

是否可以从其他编程语言中调用函数式语言.与Java/C#一样使用其他语言,如SQL,Regex,HQL,XQL,......?

它们可以但不必限于这样的惯例.

功能语言可以使用像java框架或.net框架这样的框架吗?如果是这样,这些框架是否使用图形组件,如窗口或对话框?

是的 - F#就是一个很好的例子.

功能语言是否只能用于控制台应用程序和简单地将输出回显到某种流的网站?

没有.

功能语言可以单独使用吗?如果是这样,他们使用编译器吗?

是的,它们可以是独立的.是的,他们可以使用编译器 - 这些只是语言 - 执行方式完全取决于实现者.有许多功能语言的解释器和编译器.

我将java用于多线程客户端 - 服务器应用程序,其前端充当桌面应用程序(胖客户端).我可以用功能语言编写的代码替换我的所有java代码吗?

您可以使用函数式语言编写多线程程序,可以编写桌面应用程序,并且可以像在Java中一样使用其中一种语言实现任意算法.您是否正在尝试使用此问题提出更具体的问题?

函数式语言是过程语言的子类吗?

没有.

这仅仅是语法问题还是还有更多内容?

更多的是它.我会说功能语言是鼓励你以功能方式编程的语言.这远远超出了Stack Overflow的重点.我建议您查看有关该主题的预先存在的材料,例如Haskell wiki.