.net F#-领域特定语言

.net F#-领域特定语言,.net,f#,.net,F#,F是编程语言的未来吗?现在是学习F#的时候吗?市场上的任何其他语言都相当于F#?好吧,了解另一种编程语言和看待事物的另一种方式是不会有伤害的 由于F#目前不稳定,作为一种尚未正式发布的语言,现在可能不是最佳时机;但是,我现在仍然在学习它。因为F#基本上是“针对.Net的函数式编程”,有许多类似的语言(可能更成熟),例如: :JVM上的函数式编程 :使用本机代码(或至少是基本运行时)进行函数式编程 F#是一种通用的、面向对象的函数式语言,它没有专门为特定领域的语言设计的任何东西,尽管您可能很容易

F是编程语言的未来吗?现在是学习F#的时候吗?市场上的任何其他语言都相当于F#?

好吧,了解另一种编程语言和看待事物的另一种方式是不会有伤害的

由于F#目前不稳定,作为一种尚未正式发布的语言,现在可能不是最佳时机;但是,我现在仍然在学习它。

因为F#基本上是“针对.Net的函数式编程”,有许多类似的语言(可能更成熟),例如:

  • :JVM上的函数式编程
  • :使用本机代码(或至少是基本运行时)进行函数式编程
F#是一种通用的、面向对象的函数式语言,它没有专门为特定领域的语言设计的任何东西,尽管您可能很容易在F#中创建DSL

如果你真的对学习F#之类的东西感兴趣,那么现在正是时候。如果你想学习一门新的语言来增加被雇佣的机会,那么如果你还不熟悉函数式编程,F#可能不是一个好的选择。您可能希望尝试JavaScriptPythonRubyC#并使用匿名函数


如果你想坚持使用接近F#的语言,在ML语言家族中有任何东西,特别是OCamlHaskell是一种纯粹的函数式语言,没有副作用(Haskell的单子除外)。还有Lisp家族和其他几个家族

如果您想进行函数式编程,请使用Common LISP。它是跨平台的,非常稳定,已经存在很长时间了。它也是LISP家族的一部分;最著名的函数式语言之一。

函数式语言已经存在很长一段时间了,但缺乏实用的生态系统,使它们与所有专业业务开发人员(例如,一家大型投资银行,可以用来为复杂算法的函数式编程投入一些资源)无关

微软的努力是不同的,不在于F#语言的纯度,而在于它计划作为一个主要编程平台(.NET)的一等公民首次亮相,以及采用F#语言的程序员在将其添加到现有基础设施时可能遇到的极低摩擦

在.NET中,可以在单个解决方案中引用C#项目中的VB项目(反之亦然)。但是,由于C#或VB的中间语言实际上是相同的1,.NET程序员今天更喜欢坚持使用一种语言(C#或VB),并与来自另一种(几乎相同)黑暗面的程序员交谈

另一方面,F#将引入一种截然不同的语言工具。因此,您可以在自己喜欢的.NET环境(C#或VB)中继续编程,但当出现一个不同的功能子项目时,您可以在F#中编程该子项目,同时仍然使用所有现有的C#/VB资产

至于未来,许多人认为这与其说是一刀切的语言,不如说是为手头的子项目/任务选择合适的工具时减少了摩擦

在产品发布方面,微软表示,它致力于将F#作为.NET系列的一部分提供,但目前只发布了几个CTP(还没有测试版),所以我想说,现在没有急于放弃学习F#的一切。(当我看到测试版时,请再次询问我。)



VB 2008中的1XML文本可能是VB与C之间最明显的区别。

F#不是编程语言的未来。事实上,它深深植根于过去。然而,这是一项非常值得学习的技术,因为它很可能代表了一种与您可能习惯的编程思维方式完全不同的思维方式

此外,与动态类型一样,函数式编程是下一版本c#语言中更广泛包含的概念之一

但是,继续学习吧

函数式编程是未来的趋势。但是已经存在的面向对象语言、过程语言和声明性语言的丰富植物群也是如此。在任何意义上,支撑这两个概念的概念都不是新的。有了强大的运行时集成,多语言(多(编程)系统的未来看起来是光明的,这可能是一个改变局面的趋势

是的,这是一个学习F#的绝佳时机。社区规模小,生机勃勃,环境繁茂,平台正在不断成熟(别忘了F#始于2002年),很快将成为Visual Studio的一部分

至于其他语言,正如所说的,F#大量借用了Ocml,以至于在这两种语言之间交叉编译代码是可能的。F#还借用了Haskell的序列表达式和工作流(mondas)。Scala是同一领域中另一种有趣的语言。功能结构也在将它们“C”3、C++(如“LAMBDAS”的任何一天)……Python有很好的函数库来编写函数代码。Linq和PLinq本质上是功能性/减容性的

Lisp是整个事件的始作俑者,对此也相当得意

我想说现在是个好时机,我上周向FSBUG发送了一个问题,几个小时后他就得到了答案

现在试着用c#…

重新定义“未来”——FP只是盒子里的另一个工具;有时FP解决方案非常有用,有时则没有那么多。但请记住,C#在每次迭代中都会在函数方面越来越出色[尽管它不太可能提供F#的一些非常具体的FP方面,例如歧视联合等]

同样,eas