F# 2.0 及 F# 是什么
[注意,如果你想使用免费下载的F#2.0,你应该使用2010年8月发布的F#2.0免费下载的MSI和ZIP。这个版本将现有可免费使用的F#的编程工具扩展到了.NET 4.0。]
4月12日在世界各地举办了第五个Visual Studio 2010发布会,正像Bob Muglia, Jason Zander 和S. Somasegar和在拉斯维加斯的现场直播所宣传的。 Visual Studio 2010中包含F#语言的官方版本2.0。正如我们F#团队的习俗,我们也发布了与F#2.0(Visual Studio 2008中一个可以在多种平台上使用的独立编译器)相匹配的MSI和ZIP压缩包。
2010年4月12号代表了微软研究院和特别是最近的微软开发部7年来的语言成果。我为我们已经取得的成就非常自豪。F#带来了一个高生产率、面向对象的.NET编程语言,它将平台扩展到了在技术、算法和数据化、并行算法和探索领域中的新用户。对F#语言来说,它包含在Visual Studio 2010中代表了一个巨大的里程碑。
为了帮助大家理解F#是做什么的,我在下面列出一些人们对这个语言的一些常见问题。我们对所有参与到F#中的人表示感谢,特别是那些对我们的语言提出反馈意见的用户。
问题:F#是什么?
F#是一种高生产率的函数式的、面向对象.NET编程语言,使用户能够编写简单的代码来解决复杂的问题。其简洁的语法和强大的类型推断,让用户更贴近他们的工作领域,并且它被整合到.NET和VisualStudio中,这样就可以更好使用强大的.NET 平台。
F#通过其不变性、异步编程和工具(如F# Interactive能在实时数据源上交互式地探索数据、分析、可视化和测试。)而对并行和并发提供强有力的支持。开发过程直接扩展到整个的.NET组件开发,所以不用重写代码。
问题:F# 是为什么而设计的?
F#通过为工作在科技、算法、并行和数据化领域的开发人员提供一门高生产率的语言来扩展.NET 平台。这包括在金融服务、数据分析、游戏、科学和机器学习领域的应用。另外F#也具有.NET编程语言的通用目的,这种与语言优势相结合的特点使得F#在开发领域中的广泛应用更具有价值。
问题:设计F#,最大的目标是什么?
F#主要的设计目标是结合.NET和面向对象编程的可扩展性与函数式编程的简单表达能力。
问题:什么是函数式编程?
函数式编程语言在更直观的层面表达用户想法,让用户更加专注于解决有挑战的问题而不是编写代码这个过程。像F#这种编程语言为用户提供功能性的“工具包”,用户可以拿来来解决他们的问题。函数式编程包含很多概念,例如用不可变性来减少组件间的依赖关系,用泛型来解决在许多不同类型的数据间工作的问题,以及用函数作为值来方便从一个解决方案里抽取能重复使用的代码单元。
问题:函数式编程最主要的好处是什么呢?
因为能从代码抽取功能块,F#让编程人员更多的关注于问题域而更少的关注编程本身。这在一些数据勘探、算法和科学计算领域是一个很大的好处,所以我们已经看到很多人在这个方面有使用F#的兴趣。通过提高解决问题的抽象水平,使得解决方案变得更加简单,更加通用,更容易测试和更多的并行化处理。
原文链接:http://blogs.msdn.com/b/dsyme/archive/2010/04/12/f-2-0-released-as-part-of-visual-studio-2010.aspx