F#是一种强类型,以函数式编程范式为主的编程语言,其目标在于写少量,简单的代码来解决复杂的问题。
1.F#的表达力和精准性使得开发者能够更直接的实现他们的算法,这意味着更少的重复代码,代码变得更加易读与维护。
2.得益于F#的类型提供和查询表达式(LINQ),开发都可以很轻易的与数据(一般是数据库)及其结构进行操作,实时的把数据的数据类型转换成F#里的数据类型。这个机制可以用来提供统一方式来获取数据源,WEB服务或者是自定义的协议。
3.F#的交互式SHELL,可以让你不用编译,即可执行你的代码。这让你可以边写边测你的代码,及时的改进你的程序和算法,增加开发的质量。
4.对案例的研究和用户的持续报告表明,F#的强类型机制对于减少软件的BUG有很大帮助,单位定义进一步的改善了这一状况。比如,你可以把英寸和分米,或是美元,欧元结合起来做为一个单位使用,简单的来说就是可以自定义单位。
5.开发都可以同时拥有函数式特性和强大的开发工具。在Visual Studio对F#进行了一系列的支持来增加F#的开发效率。比如说,源码级的DEBUG和单元测试。
6.开发者可以同时使用F#与C#,VB,或是任何.NET语言。你可以在使用同一类库和框架的情况下,去用不同的语言实现你要的功能。
7.当前的应用和服务必需要可以扩展,不仅是对多核的支持,也要对云的支持。F#的并行计算特性,使之可以轻易的将硬件的性能发挥到最大。F#提供简单易读的异步编程模型,可以让你写出可高扩展的服务器端系统。
8.F#支持可以让你写出函数式的,并行的和异步的程序,使其在多核与分布式并行上具有很大的优势。操作可以异步的进行,用来保证用户界面的更快的响应。
9.作为.NET平台上的语言,F#同样也被即时编译为本地机器码执行。你的程序可以在32位与64位的系统上运行而不用作任何的修改。在某些情况下可能还会比C#更快。
10.F#使得编写函数式风格的程序更加容易,解决了状态依赖。这样在多线程编程时减少程序员的负担,同时也减少了的BUG出现。单元测试更加一目了然了,重构也更加容易了,代码的复用率自然也就高了。