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

淺談C#臃腫的狀態(tài)

開發(fā) 后端
本文介紹C#臃腫的狀態(tài)是個必然的趨勢,作為.NET語言的“主力”,隨著新的開發(fā)架構(gòu)的出現(xiàn),C#的復(fù)雜性還會增加,同時很可能導(dǎo)致革新特性越出越慢。

C# 2.0發(fā)布的時候,我們回頭看Java,總認(rèn)為這個語言怎么發(fā)展得這么慢?但當(dāng)C#發(fā)展到3.0的時候,它也開始顯示出C#臃腫的狀態(tài)了,這是否會也會帶來什么連鎖效應(yīng)呢?

6年前,我是個Java的擁護(hù)者,當(dāng)時C#還是1.0版,我經(jīng)常和師傅爭論Java如何比C#好,于是他給我一個回答:“我們的COM比Java早了近5年,所以我們更成熟; 我們的.NET比Java晚了5年,所以更先進(jìn)”。雖然這么比較有“偷換概念”的感覺,但現(xiàn)在想想其實(shí)有另一層意思——“成熟與先進(jìn)”的矛盾。

Lisp、Haskell、Scheme這些語言也都可以被稱之為“偉大”,但為什么很少有人去學(xué)呢?因?yàn)樾枰锰嗟臇|西“充斥”我們的大腦后才可以使用。Java和C#之所以可以快速地被普遍接受,一個很重要的原因就是因?yàn)樗鼈兊暮唵闻c清爽。但當(dāng)明年春天C# 3.0發(fā)布的時候會怎么樣呢?雖然你可以將WCF、WF、WCS和WPF視為.NET的外掛,不予理會,但LINQ是個不好回避的內(nèi)容,因?yàn)樗谔幚頂?shù)據(jù)訪問(關(guān)系型的、非關(guān)系型的)方面有比較明顯的優(yōu)勢,所以即便你個人排斥它,其他還是會有很多人用。最后很可能成為這樣一種局面:參與到一個項(xiàng)目組,自己只能從事一些表層業(yè)務(wù)開發(fā),因?yàn)橄聦拥墓卜庋b機(jī)制都是用LINQ編寫的,況且還有Enterprise Library這個“樣板工程”在后面催著。

可以這么說,C#臃腫的狀態(tài)是個必然的趨勢,作為.NET語言的“主力”,隨著新的開發(fā)架構(gòu)的出現(xiàn),C#的復(fù)雜性還會增加,同時很可能導(dǎo)致革新特性越出越慢,畢竟?fàn)砍兜膬?nèi)容多了,作為“主力”除了要考慮語言特性間的協(xié)作外,還要充分考慮處理效率。

不過比起“一條道跑到黑”的Java而言,.NET平臺有個優(yōu)勢——CLS(Common Language Specification,公共語言規(guī)范)。相信Java的設(shè)計(jì)者不太愿意,也不敢隨便為了一個“快速走紅”但還沒有2年時間市場考驗(yàn)的技術(shù)趨勢就去修改Java編譯器; .NET不同,“C#紅旗不倒的同時,.NET平臺可以彩旗飄飄”,比如Spec#就是個例子,為了避免null對于軟件的影響,.NET家族誕生了Spec#,目的就是通過非null這個前提,提高數(shù)據(jù)驗(yàn)證、異常處理、堆棧管理的能力,利于開發(fā)者提供更高質(zhì)量的軟件; F#也是,雖然C#是強(qiáng)類型的,但動態(tài)語言式的開發(fā)一樣可以基于這個“小兄弟”開發(fā),加上它和其他.NET語言前輩基于同一個CLR環(huán)境,所以功能毫不遜色。

綜上所述,C#臃腫的狀態(tài)是不可避免的,而且很可能會像Visual C++一樣,因?yàn)檎Z言的復(fù)雜性,導(dǎo)致C#開發(fā)人員技術(shù)能力的兩極分化。但同時,借助試驗(yàn)性.NET語言的支持,即便需要集成新的特性,也不會像某些語言一樣從頭開始。依靠試驗(yàn)性語言的積累,相信從MSDN中查看C#這些新語法的時候,可以少見一些標(biāo)著“[Obsolete]”的內(nèi)容。

【編輯推薦】

  1. C#生產(chǎn)者和消費(fèi)者
  2. 詳細(xì)介紹C#基礎(chǔ)知識
  3. C#正則表達(dá)式學(xué)習(xí)筆記
  4. 簡單描述C#存儲過程
  5. 淺析C#基于TCP協(xié)議
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-08-20 18:30:33

C# ReaderWr

2011-09-21 10:56:31

C#結(jié)構(gòu)

2009-09-17 17:13:54

C#數(shù)組

2009-08-20 10:24:52

C#開發(fā)WinForm

2009-08-25 16:16:43

C# oledbcon

2009-08-26 15:46:01

C#匿名類型

2009-08-06 15:30:23

C#類型系統(tǒng)

2009-08-14 17:58:05

C#接口方法

2009-08-26 13:15:38

C#選擇控制

2009-09-02 15:41:21

C# HTTPWebR

2009-08-07 11:26:53

C#數(shù)組結(jié)構(gòu)

2009-08-12 11:24:25

C# String對象

2009-08-19 17:12:18

C# Connecti

2009-08-31 09:37:09

C# Employee

2009-02-05 15:32:23

接口委托

2009-09-02 17:07:06

C#數(shù)組操作

2009-06-24 10:25:25

C#泛型

2009-07-31 13:48:34

C# eval()函數(shù)

2009-08-24 14:43:35

C# 泛型

2009-09-03 17:51:34

C#獲取設(shè)備的ID
點(diǎn)贊
收藏

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