对功能语言感到困惑

时间:2013-09-08 20:23:24

标签: ruby scala haskell functional-programming

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

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

我遇到了很多问题,下面是我想到的简单问题的简短列表。

他们是独立语言吗?

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

他们的框架有多强大?

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

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

提前谢谢。

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

1 个答案:

答案 0 :(得分:14)

  

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

它们可以是,但不必限于此类惯例。

  

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

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

  

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

没有

  

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

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

  

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

您可以使用函数式语言编写多线程程序,可以编写桌面应用程序,并且可以像在Java中一样使用其中一种语言实现任意算法。你是不是想用这个问题提出更具体的问题?

  

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

没有

  

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

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

相关问题