偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

淺析.NET平臺(tái)編程語(yǔ)言的未來(lái)走向

開發(fā) 后端
作者饒有興趣地對(duì).NET平臺(tái)的編程語(yǔ)言發(fā)展做了一番預(yù)測(cè):動(dòng)態(tài)編程將在C# 4.0中出現(xiàn),不過(guò)人們還是希望未來(lái)的版本能夠包含更多的特性。VB.NET被承諾和C#共同進(jìn)化,以實(shí)現(xiàn)兩個(gè)語(yǔ)言具有不同的語(yǔ)法但可以給出同樣的輸出結(jié)果。

在去年的PDC2008召開期間,微軟逐步公開了圍繞.NET和編程語(yǔ)言的很多想法,據(jù)此我們可以饒有興趣地對(duì).NET的未來(lái)預(yù)測(cè)一番。

.NET平臺(tái)以運(yùn)行在通用語(yǔ)言運(yùn)行時(shí)(Common Language Runtime,CLR)上的C#和VB.NET作為開端。CLR是通用語(yǔ)言架構(gòu)(Common Language Infrastructure,CLI)規(guī)范的一種實(shí)現(xiàn)。任何希望創(chuàng)建新語(yǔ)言的人都能實(shí)現(xiàn)CLI規(guī)范,它允許開發(fā)人員從大量的編程語(yǔ)言中選擇一種。2008年10月,微軟發(fā)布了構(gòu)建于CLR之上的動(dòng)態(tài)語(yǔ)言運(yùn)行時(shí)(Dynamic Language Runtime,DLR)的0.9版本,它使語(yǔ)言開發(fā)人員也可以為.NET平臺(tái)創(chuàng)建動(dòng)態(tài)語(yǔ)言。

一些語(yǔ)言是由微軟開發(fā)和維護(hù),比如C#、VB.NET和F#,但是大部分語(yǔ)言都是由社區(qū)創(chuàng)建的開源項(xiàng)目。一些比較知名的語(yǔ)言有IronPython、IronRuby(兩者都是動(dòng)態(tài)的)和Boo(靜態(tài)的)。前面兩個(gè)語(yǔ)言作為開源項(xiàng)目由微軟積極推動(dòng),它們是基于兩個(gè)現(xiàn)存語(yǔ)言Python和Ruby的。Boo從2003年就開始出現(xiàn)了,由Rodrigo B. De Oliveira創(chuàng)建,現(xiàn)在依舊在積極地開發(fā)當(dāng)中。你可以在Wikipedia上找到一個(gè)包含了更多.NET語(yǔ)言的完整列表。

要掌握.NET語(yǔ)言的走向,首當(dāng)其沖要了解的就是Anders Hejlsberg(C#的創(chuàng)造者)如何談?wù)揅#的未來(lái)的。在之前的幾個(gè)C#版本中,微軟關(guān)注了托管代碼(C# 1.0)、泛型(C# 2.0)和語(yǔ)言集成查詢(LINQ)(C# 3.0)。而大家期盼的將伴隨Visual Studio 2010而來(lái)的C# 4.0,主要關(guān)注之處則是動(dòng)態(tài)編程。在他的PDC2008演講中,Anders談?wù)摿水?dāng)前語(yǔ)言的趨勢(shì):

我認(rèn)為發(fā)展趨勢(shì)涉及到三個(gè)主要方面。第一個(gè)就是我們所看到的更加聲明式的編程風(fēng)格。下一個(gè)就是我們過(guò)去幾年在動(dòng)態(tài)編程語(yǔ)言上所看到的某種形式的復(fù)蘇,以及它對(duì)我們的影響。還有就是多核所帶來(lái)的變化——如果你有這方面需要的話。

對(duì)我而言,這些趨勢(shì)里最感興趣的就是——所有這些趨勢(shì),另外我也認(rèn)為經(jīng)典的編程語(yǔ)言分類法正在被打破。之前,我們習(xí)慣上把語(yǔ)言歸為面向?qū)ο?、函?shù)式、動(dòng)態(tài)的或結(jié)構(gòu)化;而現(xiàn)在我們正在逐漸看到各種語(yǔ)言都從其他語(yǔ)言那里借鑒很多思想。我確實(shí)認(rèn)為,從某種意義上說(shuō),新編程范例將是一種多編程范例。

這些解釋了,為什么C#會(huì)具有聲明式編程(LINQ)和動(dòng)態(tài)編程(在C# 4.0中的dynamic關(guān)鍵字)的元素。

在稍早對(duì)Anders和Guy Steele的關(guān)于并發(fā)和語(yǔ)言設(shè)計(jì)的訪談里,Anders指出:

我們雖已擁有了名為C#的編程語(yǔ)言,但并發(fā)處理已經(jīng)來(lái)臨,所以我們需要考慮這意味著什么。我認(rèn)為在C# 3.0和LINQ上的大量工作和并發(fā)問(wèn)題已經(jīng)非常相關(guān)了。類似Lambda表達(dá)式和我們已經(jīng)添加進(jìn)來(lái)的一些特性,可以讓我們更好地構(gòu)建這種類型的API。

當(dāng)然,我們也缺乏一些語(yǔ)言內(nèi)部的機(jī)制來(lái)控制或標(biāo)識(shí)這些副作用。對(duì)于純函數(shù)和不可變數(shù)據(jù)的形式化應(yīng)該有更好的語(yǔ)言支持,另外,對(duì)于編譯器需要確定一個(gè)對(duì)象是否要暴露給任何人這樣的情況,也應(yīng)該提供一些可能的支持來(lái)以進(jìn)行某種形式隔離。只要對(duì)象不暴露給任何人,我們?cè)诒镜刈兞恐刑幚硭?,就能保證其變化時(shí)是真正安全的。

微軟已經(jīng)開展了一個(gè)和并發(fā)相關(guān)的項(xiàng)目,叫做并行計(jì)算初始計(jì)劃。S. Somasegar,開發(fā)部門的高級(jí)副總裁,最近在一個(gè)Q&A論文中,談到了在Visual Studio 2010中期望包含的東西:

它將包含一些新的.NET Framework函數(shù)庫(kù),比如任務(wù)并行函數(shù)庫(kù)(Task Parallel Library,TPL)和并行LINQ(PLINQ),以及并行模式函數(shù)庫(kù)(Parallel Pattern Library,PPL)和使用C++開發(fā)原生應(yīng)用程序時(shí)可用的并發(fā)運(yùn)行時(shí)(Concurrency Runtime)及調(diào)試工具。微軟也通過(guò)在Windows Communication Foundation(WCF)和Windows Workflow Foundation(WF)中額外添加一些新的功能來(lái)持續(xù)地對(duì).NET Framework進(jìn)行投入。

這個(gè)項(xiàng)目自然成為微軟獲取反饋的一個(gè)途徑,來(lái)了解如何在.NET編程語(yǔ)言當(dāng)中進(jìn)行改變以輕易地支持并發(fā)。莫爾定律依舊適用于晶體管密度,但對(duì)于CPU速度(GHz) 已經(jīng)不適用了,所以需要轉(zhuǎn)向并行計(jì)算而不是停止前進(jìn)。當(dāng)然微軟也明白,使用一致的基礎(chǔ)功能來(lái)解決和其他語(yǔ)言共同工作的問(wèn)題具有很大的挑戰(zhàn)。所以,下一步要著力解決的就是類似C#這樣的語(yǔ)言。

在.NET平臺(tái)上談?wù)摼幊陶Z(yǔ)言往往會(huì)提到VB.NET vs C#的主題。Anders談到了C#和VB.NET之間共同進(jìn)化(Co-Evolution)的問(wèn)題:

當(dāng)我們盡力在某個(gè)之中開發(fā)出一些不同的特性之時(shí),其他的團(tuán)隊(duì)也打算實(shí)現(xiàn)這個(gè)東西。現(xiàn)實(shí)是,促進(jìn)這些語(yǔ)言發(fā)展的正確方法便是共同進(jìn)化。

可見,并發(fā)處理將成為下一個(gè)重要的事情是無(wú)容置疑的。動(dòng)態(tài)編程將在C# 4.0中出現(xiàn),不過(guò)人們還是希望未來(lái)的版本能夠包含更多的特性。VB.NET被承諾和C#共同進(jìn)化,以實(shí)現(xiàn)兩個(gè)語(yǔ)言具有不同的語(yǔ)法但可以給出同樣的輸出結(jié)果。隨著和Visual Studio 2010一起發(fā)布的DLR的出現(xiàn),隨著IronPython和IronRuby的可用性的提升,動(dòng)態(tài)語(yǔ)言將在未來(lái)幾年里成為主流。

【編輯推薦】

  1. 視頻教程:跟MVP學(xué)C#程序設(shè)計(jì)
  2. 淺析C#中三層架構(gòu)的實(shí)現(xiàn)
  3. 深入理解C# 3.0的五項(xiàng)主要改進(jìn)
責(zé)任編輯:佚名 來(lái)源: InfoQ
相關(guān)推薦

2012-05-24 21:51:46

Android

2015-11-02 17:25:23

Elixir編程語(yǔ)言未來(lái)

2009-11-12 16:17:13

.NET

2022-07-20 08:04:06

net包DNScontext

2009-07-24 18:02:46

ASP.NET編程

2011-11-30 02:29:39

IT消費(fèi)化商務(wù)應(yīng)用平臺(tái)Dynamics CR

2010-05-06 10:17:58

混合編程Java程序員

2009-08-10 15:42:33

ASP.NET Che

2009-08-10 16:07:44

ASP.NET Lin

2009-10-13 11:28:39

VB.NET面向?qū)ο缶?/a>

2012-04-09 11:15:11

2013-05-29 09:47:42

編程語(yǔ)言移動(dòng)開發(fā)java

2012-01-05 09:35:52

語(yǔ)言開發(fā)工具新型語(yǔ)言

2009-08-03 13:12:34

ASP.NET編程模型

2009-07-27 13:34:15

ASP.NET編程

2012-09-26 10:39:02

2009-10-23 12:53:25

VB.NET語(yǔ)言

2024-10-31 09:51:28

2009-08-03 17:07:13

ASP.NET編程規(guī)范

2009-08-03 16:57:42

ASP.NET編程規(guī)范
點(diǎn)贊
收藏

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