如果你也会C#,那不妨了解下F#(2):数值运算和流程控制语法

时间:2023-01-25 06:02:45

本文链接:http://www.cnblogs.com/hjklin/p/fs-for-cs-dev-2.html

一些废话

一门语言火不火,与语言本身并没太大关系,主要看语言的推广。
推广得好,用的人多,问题也能及时得到解决,用的人就越多,这是一个良性循环,即使语言本身有很多不足也很快能得到解决。
但有的语言本身很好,使用者却不多,缺少交流和推广,致使进入恶性循环。
《黑客与画家》作者把Lisp吹上天,但却没见他继续推广,至今在使用的团队和行业还是很有限。
而说到F#,国内也出过F#的高校教材,不知道是否有高校开课,在企业上更是很少使用。
“赵姐夫”(博客)在10年说过要做F#在国内的推广者,几年过去了,也是无声无息。

那为什么在2016年的现在,那么多新的语言和技术,我们还要来了解F#呢?

  • F#和C#一样,也是基于.Net平台的语言,了解了语法后,就能快速地使用.Net框架甚至C#编写的框架,
    而且在学习过程中.Net框架中很多以前不理解的东西,通过F#就变得很容易理解了。作为.Net程序员,还是值得了解的。
  • 函数式语言的“天然支持异步和并行”的能力,也使得多线程开发变得简单。
    C#在最近的版本中经常得益于F#对.Net框架的推进,如加入了async关键字,有 Tuple了(虽然在语法层面不支持)等等。
  • 在最近发布的.Net Core中,也可以通过dotnet new -l f#来创建F#项目。.Net Core里F#的坑,这里就不细说了。