成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

F#簡明教程一:F#與函數式編程概述

原創
開發 開發工具
F#是微軟.NET平臺上一門新興的函數式編程語言,通過函數式語言,開發人員可以輕松應對多核多并發時代的并行計算和分布問題。本文是F#簡明教程的第一章,帶您走進F#和函數式編程。

【51CTO獨家特稿】F#是微軟.NET開發平臺的一門編程語言,其最大的特點是對函數式編程(FP,Functional Programming)的引入;F#對面向對象(OOP)編程的支持也很出色,使用F#語言,開發人員可以自由選擇函數式編程或面向對象編程來實現他們的項目。此外,F#還可以與.NET平臺上C#、VB等其他編程語言緊密結合。

#T#CPU多核心化和云計算的背景下,函數式編程可以很好的解決多并發運算的問題(在處理并發問題方面,面向對象編程存在一定程度的固有缺陷,比如類和實例化過程中產生的一些副作用,詳細請參考51CTO.com對另一門函數式編程語言Erlang的視頻訪談《因并發而生 因云計算而熱:Erlang專家訪談實錄》)。微軟看到了這個趨勢,試圖通過專門為函數式編程打造的F#語言提升.NET平臺在并發處理、多核多并發方面的能力,進一步提升開發人員的生產力和代碼運行效率。

在2009年的TechED上,51CTO.com就F#和函數式編程的問題視頻采訪了微軟MVP趙頡老師,我們可以采訪視頻了解F#和函數式編程最近的發展,詳細請參考《TechED 09視頻專訪:F#與函數式編程語言》。

F#小背景:看似年輕的F#已經有近10年的歷史。最初由微軟研究院的Don Syme于2002年立項研發;F#在2005年推出第一個版本,2007年底,微軟宣布F#進入產品化階段。在不斷的改進中,F#從C#、Linq和Haskell中吸收了很多優點。

F#編程起步

F#可以運行在.NET Framework 2.0版本以上的平臺。如果你的Visual Studio之前沒有安裝F#,可以從微軟F# Developer Center獲得(http://msdn.microsoft.com/en-us/fsharp/default.aspx)。

不能免俗,讓我們來看看F#的Hello World代碼:

  1. #light  
  2. System.Console.WriteLine(“This is one hello”)  
  3. printfn “This is another hello” 

 

將代碼保存為hello.fs文件后,我們需要在命令行中通過fsc.exe編譯生成一個.NET程序集。在命令行中的編譯代碼如下:

  1. fsc hello.fs 

通過上面的代碼,我們就得到了常見的可執行文件(.exe文件),這就是我們F#的起步——hello.exe。

F#小提示:F#是.NET平臺上的一個編譯型語言,但仍然可以像腳本語言一樣運行。可以使用Visual Studio或fsi.exe(在F#安裝目錄下的bin目錄)進行F#腳本的執行。

代碼解讀

讓我們來仔細看看hello.fs文件里的代碼

◆程序首先以“#light”開始,在以后的F#之路上,我們會經常看到“#light”;大多數時候,“#light”總是出現在F#程序的開始位置,這是F#輕量級語法的標識;在最新的F#版本中,#light將作為默認選項。

◆“System.Console.WriteLine”調用一個.NET基礎類(熟悉C#或VB.NET的朋友會相當熟悉)用來初始化一些必要的功能。

◆“printfn”是F#的一個常用函數,他會將雙引號中的參數輸出到控制臺上顯示。

跟其他程序的Hello World一樣,這段F#代碼簡單易懂,看著跟其他語言寫就的Hello World還有些相似;但作為函數式編程語言,F#的語法和編程中的思路卻有很大的不同。在下周的章節中,我們將深入F#編程,講解F#的類型系統及編譯機制

責任編輯:佚名 來源: 51CTO.com
相關推薦

2010-01-26 08:25:06

F#語法F#教程

2010-01-15 08:33:13

F#F#類型推斷F#教程

2011-06-09 09:52:41

F#

2009-11-09 17:51:51

F#函數式編程

2010-07-07 13:11:20

ScalaF#C#

2010-04-07 16:51:59

F#

2010-07-09 14:12:00

ScalaF#C#

2009-08-18 18:01:20

F#函數式語言

2012-11-06 10:01:35

ContinuatioF#

2009-09-10 14:18:59

Functional F#

2009-08-13 17:39:48

F#數據類型Discriminat

2009-06-22 13:43:01

F#函數式編程

2009-08-19 09:42:34

F#并行排序算法

2012-03-12 12:34:02

JavaF#

2018-05-23 08:41:14

編程語言Azure Searc數字化

2009-11-16 09:05:46

CodeTimer

2010-03-26 19:22:08

F#代理

2009-12-04 09:16:44

Visual Stud

2009-12-14 09:04:10

F#運算符

2009-08-13 17:25:21

F#入門
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲高清在线播放 | 午夜精品久久久久久久星辰影院 | 午夜资源 | 免费看国产一级特黄aaaa大片 | av第一页| 久久久久久中文字幕 | 日韩精品一区二区三区中文在线 | 中文字幕在线一区二区三区 | www.日韩在线 | 一级黄色毛片a | 久久久久国 | 午夜噜噜噜| 亚洲精品一区中文字幕乱码 | 一级大片网站 | 欧美性影院 | 久久av网站 | 国产在线观看一区二区三区 | 久久91视频 | 久久久久久综合 | 四虎影院免费在线 | 黄视频网站免费观看 | 国产在线视频一区二区 | 91麻豆精品一区二区三区 | 欧美亚洲国产一区二区三区 | 在线免费观看黄视频 | 性网址| 亚洲精品免费在线观看 | 国产日韩一区二区三区 | 精品一级 | a免费在线| 狠狠操电影 | 亚洲二区精品 | 亚洲日本乱码在线观看 | 成人欧美一区二区三区 | 国产丝袜av| 五月天婷婷丁香 | 亚洲综合久久久 | 91精品国产美女在线观看 | 国产日韩视频 | 欧美激情一区二区三区 | 欧美性jizz18性欧美 |