引文:
李維
先生曾講過,“微軟在壟斷操作系統(tǒng),SUN在壟斷語言,他們都是壟斷”。人們天生喜歡自由,不喜歡壟斷。以前我一直在想,如果用Delphi開發(fā)的Windows程序能運(yùn)行在Linux上,哪會是一幅怎樣的場景?學(xué)習(xí)了一段時間.NET后,一天我突然想到,如果能把.NET平臺移植到Linux或Unix上問題不就完美的解決了嗎?
我們知道.NET比JAVA最大的不同就是他支持多語言,我們可以用我們熟悉的語言來
開發(fā)
.NET
程序,但前提是我們的程序必須運(yùn)行在
Windows
上;而
JAVA
程序則可以“到處運(yùn)行”。如果把
JAVA
和
.NET
結(jié)合起來……
作者:郭方明
完成日期:2006年1月 version 1.0
注:轉(zhuǎn)載文章,請注明作者信息。
關(guān)鍵字: Mono .net跨平臺 Linux
正文:
1、?
什么是Mono
Mono
在西班牙語中的意思,是
“
猴子
”
。
“
猴子
”
兩個字讓人想起墨西哥人火辣直白的性格,與《西游記》中孫悟空的野性難馴別無二致。
“
猴子
”
的身世:
“
猴子
”
生于
2001
年,創(chuàng)造他的是
Miguel de Icaza
和他的朋友。他創(chuàng)建的
Ximian
被
Novell
收購,所以,現(xiàn)在
Mono
項(xiàng)目由
Novell
贊助。
Mono
是
.NET Framework
的一種開源實(shí)現(xiàn)。
Mono
項(xiàng)目將使開發(fā)者用各種語言(
C
#
,VB.NET
等)開發(fā)的
.NET
應(yīng)用程序,能在任何
Mono
支持的平臺上運(yùn)行
,
包括
Linux, Unix
。
Mono
項(xiàng)目將使大家能開發(fā)出各種跨平臺的應(yīng)用程序
,
并能極大提高開源領(lǐng)域的開發(fā)效率。
作為一個有機(jī)的
.NET
整體
,
它包括一個
C#
編譯器
,
一個公用語言運(yùn)行時環(huán)境
,
以及相關(guān)的一整套類庫,他甚至還包括
IDE
、調(diào)試工具和文檔瀏覽器。
Mono
項(xiàng)目的網(wǎng)址是:
http://www.mono-project.com
2、?
Mono
想干什么,能干什么
??
希望實(shí)現(xiàn)“一次編寫,到處運(yùn)行”。這不是
java
的口號嗎?但是我們知道
java
可以跨平臺但是他不能跨語言。而
.Net
可以跨語言但是由于微軟的戰(zhàn)略他不能跨平臺。所有
Mono
的目標(biāo)就變?yōu)榭缙脚_,跨語言。如果
Mono
成功的話,語言和平臺對開發(fā)者的影響將變的很小,這也是
Miguel de Icaza
在創(chuàng)建
Mono
的時候就希望的——
Linux
的普通用戶可以編寫自己的程序。這讓我想到軟件開發(fā)的根本任務(wù)和次要任務(wù)——根本任務(wù)是將復(fù)雜的概念結(jié)構(gòu)轉(zhuǎn)化為抽象的軟件實(shí)體;次要任務(wù)是將抽象的軟件實(shí)體的實(shí)現(xiàn)。如果普通人通過簡單的學(xué)習(xí)就可以把自己的抽象思維變?yōu)楝F(xiàn)實(shí),象我們這樣的程序員不是都要失業(yè)了嗎?
Mono
3、?
Mono
的同伴
其實(shí)微軟已經(jīng)有了自己的
.NET UNIX
實(shí)現(xiàn):
Rotor
。畢竟
NET
本質(zhì)上是可以實(shí)現(xiàn)跨平臺的,只是我相信微軟不會戰(zhàn)略層面上支持跨平臺的
.NET
。
?Rotor
生于
2002
,微軟是他的創(chuàng)造者。
Rotor
的目標(biāo):實(shí)現(xiàn)一個
CLR
運(yùn)行環(huán)境,包括一個
C#
和
Jscript
的編譯器,此外還有一系列諸如匯編
/
反匯編工具、調(diào)試器等等。
Rotor
可以運(yùn)行在
Windows
、
FreeBSD
以及
MAC OS X
上,并完全提供源代碼。閱讀
Rotor
的源代碼,也許可以幫助程序員更好的理解的
.NET
的整體架構(gòu)。
????????
不過,
Rotor
也許只是兩年前微軟的一個應(yīng)景之作,
Rotor
已經(jīng)許久沒有更新了。有了
Mono
,
Rotor
的存在價值又有幾何呢?
4、?
Mono
的過去與現(xiàn)在
Mono
的歷史還不長,從
2001
開始到現(xiàn)在也不過四五年時間。在這段時間里他默默的走著。當(dāng)我們意識到他的存在的時候,他已經(jīng)進(jìn)度過了他的童年。
2006
年
1
月
11
日
Mono 1.1.13
發(fā)布了。現(xiàn)在
Mono
已經(jīng)重實(shí)驗(yàn)室走了出來,已經(jīng)運(yùn)行在一些服務(wù)器上了,雖然不多但是畢竟已經(jīng)有了商業(yè)應(yīng)用。
Mono
的路才剛剛開始。
5、?
Mono
的前途
Mono
未來的處境不是很好,因?yàn)楫?dāng)今的兩大巨頭微軟和
SUN
都不支持他。因?yàn)槲④浀念^號敵人是
Linux
,微軟和
SUN
的斗爭其本質(zhì)是
OS
的競爭,微軟是絕對不會讓
Linux
得到普及的。而
SUN
的最大砝碼是
JAVA
如果大家的都不用
JAVA
哪
SUN
還由活路嗎?所以
Mono
要想生存下去必須有一個足夠有實(shí)力的公司和微軟和
SUN
抗衡,
Novell
顯然不被看好,但是如果
Mono
真的能發(fā)展起來的話哪
Novell
是不是會和微軟和
SUN
平起平坐呢?三足鼎立的時代會來臨嗎?
6、?
結(jié)束語
最后,我想說一下我對
Mono
的態(tài)度,我希望
Mono
成功,軟件開發(fā)需要革命性的進(jìn)步,一切事物的進(jìn)化都符合客觀規(guī)律。在一定的時候一定會有一場革命。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=582883