本文链接: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#的坑,这里就不细说了。

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

    1. 如果你也会C#,那不妨了解下F#(7):面向对象编程之继承、接口和泛型

      前言 面向对象三大基本特性:封装.继承.多态.上一篇中介绍了类的定义,下面就了解下F#中继承和多态的使用吧.

    2. 如果你也会C#,那不妨了解下F#(6):面向对象编程之“类”

      前言 面向对象的思想已经非常成熟,而使用C#的程序员对面向对象也是非常熟悉,所以我就不对面向对象进行介绍了,在这篇文章中将只会介绍面向对象在F#中的使用. F#是支持面向对象的函数式编程语言,所以你用 ...

    3. 如果你也会C#,那不妨了解下F#(5):模块、与C#互相调用

      F# 项目 在之前的几篇文章介绍的代码都在交互窗口(fsi.exe)里运行,但平常开发的软件程序可能含有大类类型和函数定义,代码不可能都在一个文件里.下面我们来看VS里提供的F#项目模板. F#项目模 ...

    4. 如果你也会C#,那不妨了解下F#(4):了解函数及常用函数

      函数式编程其实就是按照数学上的函数运算思想来实现计算机上的运算.虽然我们不需要深入了解数学函数的知识,但应该清楚函数式编程的基础是来自于数学. 例如数学函数\(f(x) = x^2+x\),并没有指定 ...

    5. 如果你也会C#,那不妨了解下F#(3):F#集合类型和其他核心类型

      本文链接:http://www.cnblogs.com/hjklin/p/fs-for-cs-dev-3.html 在第一篇中,我们介绍了一些基础数据类型,其实那篇标题中不应该含有"F#&q ...

    6. 如果你也会C#,那不妨了解下F#(1):F# 数据类型

      本文链接:http://www.cnblogs.com/hjklin/p/fs-for-cs-dev-1.html 简单介绍 F#(与C#一样,念作"F Sharp")是一种基于. ...

    7. nw.js FrameLess Window下的窗口拖拽与窗口大小控制

      nw.js FrameLess Window下的窗口拖拽与窗口大小控制 很多时候,我们觉得系统的Frame框很难看,于是想自定义. 自定义Frame的第一步是在package.config文件中将fr ...

    8. Java 基础 程序流程控制 (下)

      Java 程序流程控制 (下) 此篇单独对循环结构的知识点进行整理: 之前讲到循环结构分为:for循环,while循环,do...while循环三种最基本的循环结构:在JDK1.5以后的版本还提供了f ...

    9. php artisan 命令报错,什么命令都是这个错误,cmd下运行也不行,又没看到语法错误

      Laravel 5.1 以上的版本的框架需求PHP的版本是5.5以上的版本.如果你的PHP版本等级太低,将会出现上述的问题. 估计你要升级你的PHP版本了.

    随机推荐

    1. B样条基函数的定义和性质

      定义:令U={u0,u1,…,um}是一个单调不减的实数序列,即ui≤ui+1,i=0,1,…,m-1.其中,ui称为节点,U称为节点矢量,用Ni,p(u)表示第i个p次(p+1阶)B样条基函数,其定 ...

    2. 开发者的利器:Docker 理解与使用

      困扰写代码的机器难免会被我们安装上各种各样的开发工具.语言运行环境和引用库等一大堆的东西,长久以来不仅机器乱七八糟,而且有些相同的软件还有可能会安装不同的版本,这样又会导致一个项目正常运行了,却不小心 ...

    3. FullCalendar日历插件说明文档

      FullCalendar提供了丰富的属性设置和方法调用,开发者可以根据FullCalendar提供的API快速完成一个日历日程的开发,本文将FullCalendar的常用属性和方法.回调函数等整理成中 ...

    4. DDD领域驱动设计 - 设计文档模板

      设计文档模板: 系统背景和定位 业务需求描述 系统用例图 关键业务流程图 领域语言整理,主要是整理领域中的各种术语的定义,名词解释 领域划分(分析出子域.核心域.支撑域) 每个子域的领域模型设计(实体 ...

    5. Android开发学习—— shape标签的使用

      参考这片文章http://www.cnblogs.com/armyfai/p/5912414.html

    6. exp/imp 与 expdp/impdp 区别

      在平常备库和数据库迁移的时候,当遇到大的数据库的时候在用exp的时候往往是需要好几个小时,耗费大量时间.oracle10g以后可以用expdp来导出数据库花费的时间要远小于exp花费的时间,而且文件也 ...

    7. Xamarin.Android广播接收器与绑定服务

      一.前言 学习了前面的活动与服务后,你会发现服务对于活动而言似乎就是透明的,相反活动对于服务也是透明的,所以我们还需要一中机制能够将服务和活动之间架起一座桥梁,通过本节的学习,你将会学到广播与绑定服务 ...

    8. 剁手党也有春天 -- 淘宝 UWP ”比较“功能诞生记

      前言 网购已经不再是现在的时髦,而变成了我们每天的日常生活.上网已经和买买买紧密地联系在了一起,成为了我们的人生信条.而逛街一词,越来越多地变成了一种情怀.有时候我们去逛街,要么是为了打发时间,要么是 ...

    9. topshelf和quartz内部分享

      阅读目录: 介绍 基础用法 调试及安装 可选配置 多实例支持及相关资料 quartz.net 上月在公司内部的一次分享,现把PPT及部分交流内容整理成博客. 介绍 topshelf是创建windows ...

    10. 探索 Linux 系统的启动过程

      引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...