词条 | visual f# |
释义 | Visual F# 由微软发展成为微软。NET语言提供运行环境的程序设计语言。Vsual f#是多元化编程语言,它支持函数式、命令式和面向对象的混合编程风格。Visual F# 可用于开发应用程序或用 F# 码为其他 .NET 应用程序做必要的扩充。 F# 是 .NET 编程语言家族中第一个基于 Ocaml 并十分类似于它的函数语言。F#语言集安全、性能、脚本与Modern Runtime系统(Java虚拟机和微软通用Runtime)等多种优势于一体,并支持Python等交互式脚本语言、强类型推理、ML的安全性。另 外,F#语言可以访问access.net库以及其他数据库工具软件。 Visual F# 概述Visual F# 由微软发展成为微软.NET语言提供运行环境的程序设计语言。Vsual f#是多元化编程语言,它支持函数式、命令式和面向对象的混合编程风格。Visual F# 可用于开发应用程序或用 F# 码为其他 .NET 应用程序做必要的扩充。 F# 是 .NET 编程语言家族中第一个基于 Ocaml 并十分类似于它的函数语言。这是一种用于显示.NET在不同编程语言间互通的程序设计。 F#语言集安全、性能、脚本与Modern Runtime系统(Java虚拟机和微软通用Runtime)等多种优势于一体,并支持Python等交互式脚本语言、强类型推理、ML的安全性.另 外,F#语言可以访问access@net库以及其他数据库工具软件. 与另外一个新微软语言的精神相同,F#编译器和工具将在微软公共许可协议(Microsoft Public License)下开源。这一许可协议是所有微软许可协议中最宽松的一个,基本来说你只要保留版权声明并且不对作者提出控告,那么你就可以做你想做的任何事情。 Visual Studio 2010中已正式包含 Visual F#,作为一种常规的开发工具发布。 作 为 .NET Framework 家族的新成员,F# 提供类型安全、性能以及类似脚本语言的工作能力,所有这些都是 .NET 环境的一部分。此函数式语言由 Microsoft 研究院的 Don Syme 发明,作为 CLR 的 OCaml 语法兼容变体,但 F# 已经迅速地从科研转为投入实际应用。 随着函数式编程的概念通过 .NET 泛型和 LINQ 等技术越来越多地渗入主流语言(例如 C# 和 Visual Basic),F# 在 .NET 社区里的知名程度也不断提高——因此,2007 年 11 月 Microsoft 宣布将 F# 确定为受支持的 .NET 编程语言。 多年来,大家一直认为函数式语言领域(ML、Haskell 等)更适合用于学术研究,而不适用于专业开发。但这并不代表这些语言没有过人之处。事实上,.NET 的一些重要的功能增强(例如泛型、LINQ、PLINQ 和 Futures)都是将一些函数式编程概念全新应用到语言所致。以往对这些语言的关注程度不高主要是因为它们的目标平台与专为 Windows® 编写程序的开发人员关系不大、不能与底层平台很好集成,或者不支持关系数据库访问、XML 解析和进程外通信机制等主要功能。 但是,CLR 及其“多种语言,单一平台”的方法将使此类语言在 Windows 开发中的应用越来越广泛。并且顺理成章地引起在一线工作的程序员们的注意。F# 即是这样一门语言。 为什么要使用 F#对于小部分 .NET 程序员来说,学习一门 .NET Framework 函数化语言无疑将使自己在编写功能强大软件方面前进一大步。而对其他程序员来说,学习 F# 的理由就因人而异了。F# 能为开发人员提供哪些益处? 随着多核 CPU 的普及,安全并发程序已成为过去三年来的关注焦点。函数式语言倡导一种固定不变的数据结构,可在线程和机器之间传递,而无需担心线程安全或原子访问,开发人员可以利用这一特点支持并发操作。函数式语言还可更轻松地编写更支持并发特性的库,如稍后将在本文中介绍的 F# 异步工作流。 尽管对于专攻面向对象开发的程序员而言,可能对这种语言感觉不是这么强烈,但在很多情况下,函数式程序确实可以简化某些应用程序的编写和维护。例如,编写一个将 XML 文档转换成其他格式数据的程序。虽然完全可以通过编写一个 C# 程序,让它解析整个 XML 文档并应用各种 if 语句确定在文档中的不同位置采取何种措施,但实际上更好的方法是编写可扩展样式表语言转换 (XSLT) 程序。当然,XSLT 肯定包含大量的内置函数机制,如同 SQL 一样。 F# 强烈建议不要使用空值 (null),而是提倡使用固定不变的数据结构。这些特性可以减少需要编写的特例代码量,从而有助于降低编程出错的频率。 使用 F# 编写的程序还更加简洁。您可以切实地从两方面减少键入的内容:击键次数更少并且必须要向编译器通告变量类型、参数或返回类型的位置点也更少。这意味着需要维护的代码将大大减少。 F# 具有与 C# 相似的性能特点。但是,与简洁程度相似的语言(特别是那些动态和脚本语言)相比,它的性能特点要好得多。并且,F# 也包含通过编写程序段并交互式执行查看数据的工具,这一点与许多动态语言类似。 目前主要用途在Visual Studio里,F#并不倾向于被单独使用。微软鼓励开发人员使用F#来构建应用程序的核心,发布一个高质量的F#核心工具,可以增强Visual Studio的实力,让其成为一个具有丰富界面开发能力的面向对象的编程环境。功能性编程语言将计算看做是数学函数的赋值,对于需要使用大量数学符号的某些领域专业人员来说,F#语言的数学特性颇具吸引力。F#也许终将成为程序核心部分设计的首选,而C#与VB等将在用户界面交互设计方面继续发挥其强大的潜力。 F#例程:Hello World解释方式F# 属于不需要显式入口点(C#、VB 和等都需要显式入口点)的语言;该语言假设程序的第一行即为入口点并将从此处开始执行。让F# 打印 "Hello World" 的语句,只需要简单的一句代码: printf "Hello, world!" 要运行此程序,刚入门的 F# 开发人员有两个选择:编译或解释。在 F# 解释程序中运行此程序 (fsi.exe) 很简单。 只需从命令行启动 fsi.exe 并在出现的提示中输入上面一行内容即可,如图所示。 请注意,在 shell 中,每条语句必须以两个分号结尾。这是交互模式的特殊要求,编译过的 F# 程序并不需要使用这种方式。 图形化方式如果希望“Hello, world!”中更具图形化特点,F# 可以通过 CLR 平台(包括 Windows Forms 库)轻松地提供完整的逼真度和互操作性。尝试以下代码: System.Windows.Forms.MessageBox.Show "Hello World" 利用 .NET Framework 类库和 F# 库的能力使得 F# 语言不仅对那些早已使用如 OCaml 或 Haskell 之类函数式语言进行数学和科学计算的社区极具吸引力,而且受到全世界现有 .NET 开发人员的青睐。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。