Try F#——学习、创建和探索

  • Anand Narayanaswamy
  • 臧秀涛

2013 年 2 月 7 日

话题:语言 & 开发

微软为编程语言 F# 的学习发布了一个专门的新网站——Try F#。该网站划分为学习(Learn)、创建(Create)和探索(Explore)三个主要部分。

除了数据科学相关的主题外,学习部分还负责检查基础、高级技术、数据可视化、制图以及科学、数值与金融方面的计算等内容。

创建部分主要面向已经非常熟悉 F# 的程序员,支持用户构建 F# 程序并与社区分享。

探索部分提供了额外的资源,如指向图书、教程、视频讲座和播客的链接。在最下面,微软还提供了各个全面覆盖 F# 的社区网站的链接。

在 InfoQ 对Kenji Takeda(Microsoft Research Connections EMEA 的解决方案架构师和技术经理)的独家专访中,他谈到了 Try F# 网站创建背后的故事。

InfoQ:初学者学习 F# 会很容易吗?

对初学者,特别是有科学、工程和数学等背景的初学者来说,F# 非常直观。学童就喜欢它——我们听说有个 4 岁大的孩子编写 F# 程序玩!这门语言绝对可以与其他用于新手计算机编程教学的语言相提并论。

InfoQ:你认为 F# 在开发者中是一门流行的编程语言吗?

F# 是开放源代码的语言,从金融保险到网页设计再到社交游戏网站,在很多领域都有应用。开发者发现这门语言非常迷人,因为它既有函数式编程的优雅与强大,又能包含面向对象代码,还能享受广泛的互操作性。一旦开始使用 F#,人们就会改变其软件开发思维方式,也会极大提高在其他编程语言中的开发效率。F# 对任何程序员的工具箱都是个很好的补充。

InfoQ:Try F# 网站是基于什么样的需求发起的?

Try F# 网站允许访问者在 Web 浏览器中直接探索多姿多彩的 F# 编程语言。它让人们从基础做起,之后通过真实的例子来解决分析性和信息丰富的问题。除了大量的教程之外,Try F# 还允许用户在浏览器中编写程序、将程序保存在云中,并与朋友分享,又快又方便。对于那些想要了解一下 F# 对他们有何帮助并想亲手体验一下的人来说,这实际上降低了入门门槛。

关于 Try F# 的更多信息,请访问Microsoft Research Connections的博客。

InfoQ:像 C#、VB 和 C++ 等语言都没有类似的专门网站,那为什么要创建 Try F#?

我们希望通过 Try F# 直接接触到目标受众,包括对使用创新的方法——如类型提供程序(Type Provider)和度量单位(Units of Measure)等 F# 特有的功能——进行数据科学和分析式编程感兴趣的学生、研究人员和开发者。与他们交互的过程中得到的经验教训会影响我们考虑我们的所有开发者网站的方式。

InfoQ:你认为 Try F# 能帮助开发者快速学习这门语言吗?

通过与强大的开发者社区紧密合作,连同一些帮助开发者起步的示例材料,我们力图营造一种容易接受的“学习”体验。该网站允许访问者自下而上地学习这门语言,或者通过数据科学、科学与工程以及金融计算方面的教程以更倾向问题解决的方式来学习。Try F#现在包含的“创建与分享”体验可以帮助开发者编写代码并与其他人分享,这些活动都不需要离开浏览器,因此社区会继续增长。

InfoQ:微软是否有计划在学生和计算机培训中心中推广 Try F# 网站?

Microsoft Research 已经与全球的一些大学展开合作,向学生和教员推广 Try F# 网站。比如,伦敦大学学院(University College London,UCL)和伦斯勒理工学院(Rensselaer Polytechnic Institute,RPI)已经在使用 Try F# 了。

利用这个网站,学生和研究者可以在因特网上访问诸多开放的数据资源,也可以更快地上手编写复杂的算法代码,还可以在社交网络和 Web 上分享其成果。

关于 Try F# 在 UCL 和 RPI 使用情况的更多信息,请看 Microsoft Research 的 5 分钟视频

InfoQ:你 F# 的未来有何看法?

对分析类软件组件来说,F# 已经取得成功,因为它能极大减少这类软件的部署时间。F# 在金融保险行业更是相当成功了。借助最新版的 F# 及其独特的类型提供程序的信息访问特性,它开启了一个新世界,统一了开发者对组织内部和因特网上的异构数据的访问方式。它非常适合数据科学、大数据和云计算等领域。

F# 的设计是由 Microsoft Research 领导的,因此它带来了研究界的前沿理念,并且在极短的时间内将这些理念交到了全世界开发者的手中。

查看英文原文Try F# - Learn, Create and Explore

语言 & 开发