自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

函數(shù)式編程語(yǔ)言F#:基于CLR的另一個(gè)頭等編程語(yǔ)言

開(kāi)發(fā) 開(kāi)發(fā)工具
本文源自Don Syme的博客。本博文寫(xiě)于2007年底,當(dāng)時(shí)微軟剛剛在其平臺(tái)上集成了F#語(yǔ)言。而F#將在VS2010中被正式包括在內(nèi),可以說(shuō)未來(lái)的F#將是.NET平臺(tái)上函數(shù)式語(yǔ)言的代表。

近幾年來(lái),編程語(yǔ)言的一個(gè)重要的主題已經(jīng)轉(zhuǎn)向函數(shù)式編程的觀念。

諸如C#中的lambda表達(dá)式和.NET 2.0中的范型等語(yǔ)言特性都源于函數(shù)式語(yǔ)言,而LINQ更是直接基于函數(shù)式編程技術(shù)。通過(guò)LINQ和Parallel FX,函數(shù)式語(yǔ)言的想法正幫助我們解決當(dāng)今業(yè)界所面臨的最大挑戰(zhàn):從防止數(shù)據(jù)和對(duì)象之間的錯(cuò)誤匹配,到多核與并行計(jì)算領(lǐng)域所帶來(lái)的挑戰(zhàn)。

微軟研究院已經(jīng)著手在一些項(xiàng)目中研發(fā)這些關(guān)鍵技術(shù)中幾個(gè)技術(shù)。MSR目前所研發(fā)的很有前途的項(xiàng)目之一就是由Don Syme帶領(lǐng)的F#編程語(yǔ)言。F#起源于函數(shù)式編程的傳統(tǒng)(因此是“F”)。雖然它也從C#,LINQ和Haskell中獲取了經(jīng)驗(yàn),但它也深深地植根于ML家族的語(yǔ)言。從一開(kāi)始,F(xiàn)#就被設(shè)計(jì)成.NET家族的一等公民。這意味著F#是運(yùn)行在CLR之上的,包含面向?qū)ο蟮木幊蹋⒋_保了和.NET框架的平穩(wěn)集成。(51CTO之前的相關(guān)報(bào)道:微軟計(jì)劃在開(kāi)發(fā)平臺(tái)集成F#語(yǔ)言

我是技術(shù)在研究組織和產(chǎn)品開(kāi)發(fā)組織之間轉(zhuǎn)移的狂熱追求者。正因?yàn)檫@樣的技術(shù)轉(zhuǎn)移,我們才能夠?qū)⒑芎玫难芯肯敕ā爱a(chǎn)品化”,并及時(shí)的交付給客戶。這是微軟從15年前創(chuàng)立微軟研究院至今發(fā)生的最好的事情之一。現(xiàn)在我們有了另一個(gè)技術(shù)轉(zhuǎn)換的例子。我們將與Don Syme以及微軟研究院的其他人一起合作,將F#語(yǔ)言完全集成進(jìn)Visual Studio,并繼續(xù)對(duì)F#進(jìn)行創(chuàng)新和改進(jìn)。我認(rèn)為,F(xiàn)#是基于CLR的另一個(gè)頭等編程語(yǔ)言。

有幾方面的因素激發(fā)了我們對(duì)F#的興趣。正如我先前所提到的,我們旨在把這樣好的想法從函數(shù)式編程的世界延續(xù)至主流的開(kāi)發(fā)。此外,函數(shù)式編程有些數(shù)學(xué)傾向,這似乎很自然的吸引了那些用數(shù)學(xué)符號(hào)表述關(guān)鍵領(lǐng)域的專業(yè)人士,這些領(lǐng)域包括金融、科學(xué)和技術(shù)運(yùn)算。強(qiáng)類(lèi)型系統(tǒng)所帶來(lái)的一些保障是它語(yǔ)法上最大的吸引力。這些保障在以上這些領(lǐng)域中常常會(huì)很關(guān)鍵,而且還能通過(guò)Visual Studio帶來(lái)極好的工具體驗(yàn)。

另一個(gè)動(dòng)機(jī)是進(jìn)行不斷的投資,使.NET框架成為學(xué)術(shù)領(lǐng)域的不錯(cuò)選擇?,F(xiàn)在,世界上許多計(jì)算機(jī)科學(xué)專業(yè)教授函數(shù)式編程語(yǔ)言。我們相信,通過(guò)F#和諸如IronPython、IronRuby之類(lèi)的語(yǔ)言,我們能為學(xué)生和教育工作者們提供當(dāng)前主流之外的其他選擇,并且能在課程中使用這些語(yǔ)言。這一點(diǎn)為教育工作者提供了一個(gè)選擇,使他們能在不同的課程中使用Visual Studio作為其一致的工具集。

51CTO編者:函數(shù)式編程這一概念的出現(xiàn)已經(jīng)有了好幾個(gè)年頭,但是到目前為止,在開(kāi)發(fā)者中間仍然不太受歡迎。有評(píng)論說(shuō)函數(shù)式概念太復(fù)雜,“似乎只有拿著博士學(xué)位的人才玩得轉(zhuǎn)”;也有人對(duì)其贊賞不已,認(rèn)為這種編程風(fēng)格大大的簡(jiǎn)化了代碼,令編碼過(guò)程更加清晰。除了F#之外,Scala語(yǔ)言也是一個(gè)比較廣泛為人所知的函數(shù)式編程語(yǔ)言,有興趣了解的讀者可以參考51CTO的Scala編程語(yǔ)言專題。

【相關(guān)閱讀】

  1. Visual Studio 2010將正式包含F(xiàn)#
  2. Scala如何改變了我的編程風(fēng)格:從命令式到函數(shù)式
  3. 關(guān)于測(cè)試和恢復(fù)性的爭(zhēng)論:面向?qū)ο髒s.函數(shù)式編程
  4. Scala編程語(yǔ)言
  5. Visual Studio 2010爆F(xiàn)#二進(jìn)制兼容性問(wèn)題
責(zé)任編輯:yangsai 來(lái)源: Don Syme的博客
相關(guān)推薦

2011-06-09 09:52:41

F#

2009-11-09 17:51:51

F#函數(shù)式編程

2010-01-07 10:04:18

F#函數(shù)式編程

2009-08-18 18:01:20

F#函數(shù)式語(yǔ)言

2010-07-07 13:11:20

ScalaF#C#

2021-08-23 15:05:21

PyretJavaScript編程

2010-07-09 14:12:00

ScalaF#C#

2021-08-02 08:21:53

Python編程語(yǔ)言開(kāi)發(fā)

2012-08-23 14:23:33

函數(shù)式編程

2015-03-15 01:55:25

編程語(yǔ)言排行榜

2015-05-25 15:06:28

JavaScript函數(shù)式編程

2016-12-26 15:23:21

戴爾

2019-07-11 08:00:00

JavaScriptJulia編程語(yǔ)言

2012-11-06 10:01:35

ContinuatioF#

2022-02-19 22:47:46

編程語(yǔ)言開(kāi)發(fā)C++

2017-11-14 11:12:50

Go語(yǔ)言編譯器

2011-12-07 12:00:06

ibmdw

2012-02-17 09:33:08

KotlinJavaJVM

2010-03-19 09:39:17

Python編程語(yǔ)言

2011-03-28 14:02:07

MirahJava對(duì)手
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)