直播中
2002.01.20
版權(quán)所有,翻錄不究
cashcao@msn.com
選擇
我身上攜帶著精神、信仰、靈魂
思想、欲望、怪癖、邪念、狐臭
它們寄生于我身體的家
我必須平等對(duì)待我的每一位客人
-----------伊沙:《原則》
我的名字是cash,所以我很功利主義;
我的星像是Leo,所以我很大男人主義;
我的語(yǔ)言是C#,所以我有點(diǎn)兒拿不定主義。
/* 你能看得出來(lái),這不是一篇正規(guī)的技術(shù)文章,所以若你不小心從里邊讀到了一個(gè)愛(ài)情故事,可不要奇怪。有很多人用程序來(lái)表述愛(ài)情,在其中我能看到有Money,有Girl,有一些還涉及到Sex,但是我沒(méi)有找到Love,我始終相信這世上有一種力量直接來(lái)自于愛(ài)情,到現(xiàn)在仍然相信。*/
C#(讀作C sharp),是Microsoft公司新推出的(?)專為.NET設(shè)計(jì)的一門語(yǔ)言,號(hào)稱“C/C++家族中第一種面向組件的語(yǔ)言”。很多人覺(jué)得它應(yīng)該像C或者C++,但事實(shí)上它更像是java的一個(gè)clone,所以作為入門,讀一下清華大學(xué)出版社出版的《Java 語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì)》可能會(huì)對(duì)你有所幫助。本文假定你具備一切學(xué)習(xí)此語(yǔ)言所需的知識(shí),沒(méi)有也不要緊,我會(huì)在文中盡量列出相關(guān)的link,鑒于互聯(lián)網(wǎng)瞬息萬(wàn)變的特點(diǎn),若某一鏈接不可用,請(qǐng)自行至Google查詢。
如前所述,我是一個(gè)獅子座男人,一度我認(rèn)為學(xué)習(xí)Java會(huì)使我看起來(lái)與眾不同,可是幾個(gè)月以后我放棄了這個(gè)選擇,我看了論壇里關(guān)于這兩種語(yǔ)言孰優(yōu)孰劣的討論,最終選擇了C#,請(qǐng)不要問(wèn)我為何做出這樣的選擇,很多人認(rèn)為中文是世界上最美麗的語(yǔ)言,可是華人世界以外有誰(shuí)在講漢語(yǔ)? 另外我發(fā)現(xiàn)論壇上學(xué)習(xí)Java的人都非常的有個(gè)性,當(dāng)有人問(wèn)起學(xué)習(xí)哪種語(yǔ)言更好時(shí),他會(huì)打出幾百個(gè)“JAVA”來(lái),填滿整個(gè)屏幕,也不說(shuō)是為了什么。我覺(jué)得這樣做未免有些太霸道了,如果你說(shuō)這叫偏執(zhí)狂我也不反對(duì),雖然我是獅子座,可也不想被人這樣看。
在C#剛剛推出的時(shí)候,大多數(shù)的程序員都不免吼上兩句——不是因?yàn)楦吲d,而是因?yàn)橛侄嗔艘环N語(yǔ)言。他們覺(jué)得現(xiàn)在的語(yǔ)言太多了,沒(méi)有必要再多出一種來(lái)添亂子。但是當(dāng)他們看完C#的文檔后又開(kāi)始高興起來(lái),因?yàn)镃#是如此簡(jiǎn)單:事實(shí)上,簡(jiǎn)單正是C#最大的特點(diǎn)。除此之外,它還具有現(xiàn)代、面向?qū)ο?、類型安全、版本控制、兼容、靈活等特點(diǎn)。詳細(xì)介紹請(qǐng)參閱rainbow(一個(gè)長(zhǎng)著胡子的彩虹)翻譯的<<展現(xiàn)C#>> ,前幾章非常的有趣。
看完了前面幾段,我的朋友提出了不同的意見(jiàn):C#不是Java的Clone,它只是長(zhǎng)得有些像Java而已,其實(shí)面向?qū)ο?、中間語(yǔ)言什么的也不是什么新玩意兒,非Sun獨(dú)創(chuàng),有文為證:華山論劍:C#對(duì)Java。另外他對(duì)我上一集中說(shuō)Microsoft越來(lái)越不要臉也極為生氣,因?yàn)橄啾戎拢琒un也不怎么樣,微軟已經(jīng)將C#提交設(shè)在日內(nèi)瓦的ECMA(European Computer Manufacturers' Association,國(guó)際標(biāo)準(zhǔn)化機(jī)構(gòu)歐洲電子計(jì)算機(jī)工業(yè)會(huì))并獲得批準(zhǔn)。Sun就從來(lái)沒(méi)有將它的Java交給過(guò)ECMA,以至于正當(dāng)Microsoft盡力在Visual J++基礎(chǔ)上拓展Java功能,并使之與Windows操作系統(tǒng)緊密結(jié)合在一起的時(shí)候,Sun公司對(duì)Microsoft提出了法律訴訟,控告Microsoft違反了許可證協(xié)議中的條款,最終的結(jié)果是Microsoft公司不得不停止其Visual J++產(chǎn)品的開(kāi)發(fā)。(Microsoft后來(lái)在完全面向.NET框架的開(kāi)發(fā)語(yǔ)言集中加入了Visual J#.NET,算是對(duì)Java語(yǔ)言用戶的一種照顧。)
有人說(shuō),選擇C#意味著選擇MS(在中國(guó)的程序員當(dāng)中,這并不是件值得自豪的事。如果你還不能理解這種心情,可以試想一下有人很認(rèn)真地對(duì)你講他喜歡聽(tīng)毛寧的歌)。事實(shí)上,通過(guò)ECMA標(biāo)準(zhǔn)的C#可以由任何人在任何平臺(tái)上設(shè)計(jì)出它的開(kāi)發(fā)程序。比如Ximian公司的Mono工程,可以使開(kāi)發(fā)者能夠編寫同時(shí)在Windows和Linux上運(yùn)行的.Net程序,這些程序甚至還可能在其它非Windows的操作系統(tǒng)上運(yùn)行,比方Unix。這一段時(shí)間我正在Linux下試驗(yàn)這個(gè)工程,遺憾的是,還沒(méi)有成功。
一位師兄對(duì)此種比較頗為不屑,他認(rèn)為只要選一種語(yǔ)言去學(xué)就好了,“重要的是你要用它,并且做的比別人好?!边@讓我想起來(lái)一直都很喜歡的那個(gè)歌:把你自己該做的那份工作,做得比別人出色。年輕的時(shí)候我老是用這句話自勉……
寫到這里我發(fā)現(xiàn)這個(gè)故事還沒(méi)有提到桐桐,這篇東西是為她而作。我早在十八個(gè)月以前就答應(yīng)了她,我答應(yīng)了她很多事,但還沒(méi)有完成一件,現(xiàn)在我要一件一件的去實(shí)現(xiàn)。所以這個(gè)故事還應(yīng)該有個(gè)更好的開(kāi)始。
2000年6月我大學(xué)畢業(yè),從北京回到了石家莊,到一家什么都做的公司上班(做一個(gè)網(wǎng)站),最開(kāi)始制作界面,然后用asp編程,如果你用過(guò)asp就會(huì)知道,這是個(gè)很無(wú)聊的工種。在此之前我在一家報(bào)社實(shí)習(xí),為他們的網(wǎng)站做設(shè)計(jì)和動(dòng)畫。在那里我認(rèn)識(shí)了桐桐。
那時(shí)候她還在上學(xué)。
>>>未完,待續(xù)...
附:本文有關(guān)鏈接
展現(xiàn)C#:http://www.csdn.net/Author/Rainbow/
華山論劍:C#對(duì)Java:http://www.ccidnet.com/html/tech/guide/2001/06/29/58_2482.html
ECMA:http://www.zdnet.com.cn/developer/tech/story/0,2000081602,20035735-1,00.htm
ECMA批準(zhǔn)C#:http://msdn.microsoft.com/net/ecma/
Visual J#.NET:http://www.techng.com/content.asp?titleid=3108
Mono工程:http://www.zdnet.com.cn/developer/news/story/0,2000081594,20032287-1,00.htm
www.go-mono.com