F#会像C#一样成为主流语言吗?或者它仍将是一种小众语言?你预计会有客户带着在F#中执行的项目来找你吗?
一个专业的程序员能靠F#谋生吗?您预计F#程序员会有什么样的需求?
致以亲切的问候,
发布于 2009-05-12 12:58:52
今天,有些人靠函数式编程谋生。有关示例,请参阅每年举行的commercial users of functional programming workshop。
对于F#的第一个版本,微软的目标是工程、数学、金融和数据处理应用程序(如果我没记错的话)。这是否是一个利基市场取决于你的观点:)但这似乎是一个合理的市场。
多亏了F#出色的.NET集成,你可以在很大程度上选择使用F#来制作你的项目。你的客户应该关心什么。如果你从C#程序员那里获得了竞争优势,也许你最好希望F#不会成为主流……
最后,当然,F# (和Scala)是至少函数式编程将变得“更主流”的指标。但是什么时候一种语言被认为是主流呢?如果用C和COBOL语言编写的代码行数比C#、VB和Java的总和还要多,我也不会感到惊讶。因此,从C程序员的角度来看,C#是一种小众语言。我认为,得益于虚拟机,编程语言总体上正变得更加多样化(例如,也可以考虑Ruby、Python和Haskell,而不考虑所有较小的语言,如Clojure、Ioke等)。
发布于 2009-05-12 09:46:46
我不能肯定地回答这个问题。当然,这是非常主观的。我们可以等着看会发生什么。但有一件事是肯定的。即使F#仍然是少数语言,编程的思想和函数式风格也会逐渐添加到其他语言中。你不能说C# 3.0和C# 1.0一样。这只是一个名字相似的问题。
发布于 2009-05-12 18:10:57
我认为F#永远不会达到C#或其他命令式语言的流行程度,因为大多数应用程序都是按命令式设计的,而大多数程序员都是这样思考的。
但F#提供了许多非常有趣的功能,如LOP、编译器编译器、计算表达式(异步工作流)、报价、度量单位。
许多问题可以用函数式编程语言更好、更简洁地表达出来(看看那些使用async {}或seq {}的F#示例),而且由于F#比Haskell (它有简化许多任务的.NET框架,而不是纯粹的函数式!)更主流一些,所以对于许多程序员来说,进入函数式编程并学习它的优点会更容易。
此外,用F#编写错误代码比用C更难,因为你有很好的类型检查,编译器推断的许多强类型和不可变值-你可以直观地证明函数算法的正确性,这在命令式算法中通常很难。想一想这段代码,它应该计算数组中的零的个数:
int countZeros;
for (int i = 1; i <= length; i++) {
if (data[i] = 0) {
countZeros++;
}
}这些都是吸引人们使用F#的因素。剩下的是市场营销(微软应该在VS2010中有一个F#速成版!)
https://stackoverflow.com/questions/851973
复制相似问题