引文:
				
		
		
				李维
				先生曾讲过,“微软在垄断操作系统,SUN在垄断语言,他们都是垄断”。人们天生喜欢自由,不喜欢垄断。以前我一直在想,如果用Delphi开发的Windows程序能运行在Linux上,哪会是一幅怎样的场景?学习了一段时间.NET后,一天我突然想到,如果能把.NET平台移植到Linux或Unix上问题不就完美的解决了吗?
		
		
				我们知道.NET比JAVA最大的不同就是他支持多语言,我们可以用我们熟悉的语言来
				开发
				.NET
				程序,但前提是我们的程序必须运行在
				Windows
				上;而
				JAVA
				程序则可以“到处运行”。如果把
				JAVA
				和
				.NET
				结合起来……
		
		
				
						作者:郭方明
				
		
		
				
						完成日期:2006年1月 version 1.0
				
		
		
		
		
				
						注:转载文章,请注明作者信息。
				
		
		
				
						关键字: Mono .net跨平台 Linux
				
		
		
				
						正文:
				
		
		
				
						
								1、 
								什么是Mono
						
				
		
		
				Mono
				在西班牙语中的意思,是
				“
				猴子
				”
				。
				 “
				猴子
				”
				两个字让人想起墨西哥人火辣直白的性格,与《西游记》中孙悟空的野性难驯别无二致。
		
		
				“
				猴子
				”
				的身世:
				“
				猴子
				”
				生于
				2001
				年,创造他的是
				Miguel de Icaza
				和他的朋友。他创建的
				Ximian
				被
				Novell
				收购,所以,现在
				Mono
				项目由
				Novell
				赞助。
		
		
				Mono
				是
				.NET Framework 
				的一种开源实现。
		
		
				Mono
				项目将使开发者用各种语言(
				C
				#
				,VB.NET
				等)开发的
				.NET
				应用程序,能在任何
				Mono
				支持的平台上运行
				, 
				包括
				Linux, Unix
				。
				Mono
				项目将使大家能开发出各种跨平台的应用程序
				, 
				并能极大提高开源领域的开发效率。
		
		
				作为一个有机的
				.NET
				整体
				, 
				它包括一个
				C#
				编译器
				, 
				一个公用语言运行时环境
				, 
				以及相关的一整套类库,他甚至还包括
				IDE
				、调试工具和文档浏览器。
		
		
				Mono
				项目的网址是:
				http://www.mono-project.com 
		
		
				
						
								2、 
								Mono
								想干什么,能干什么
						
				
		
		
				
						   
						希望实现“一次编写,到处运行”。这不是
						java
						的口号吗?但是我们知道
						java
						可以跨平台但是他不能跨语言。而
						.Net
						可以跨语言但是由于微软的战略他不能跨平台。所有
						Mono
						的目标就变为跨平台,跨语言。如果
						Mono
						成功的话,语言和平台对开发者的影响将变的很小,这也是
						Miguel de Icaza
						在创建
						Mono
						的时候就希望的——
						Linux
						的普通用户可以编写自己的程序。这让我想到软件开发的根本任务和次要任务——根本任务是将复杂的概念结构转化为抽象的软件实体;次要任务是将抽象的软件实体的实现。如果普通人通过简单的学习就可以把自己的抽象思维变为现实,象我们这样的程序员不是都要失业了吗?
				
				Mono
		
		
				
						
								3、 
								Mono 
								的同伴
						
				
		
		
				其实微软已经有了自己的
				.NET UNIX
				实现:
				Rotor
				。毕竟
				NET
				本质上是可以实现跨平台的,只是我相信微软不会战略层面上支持跨平台的
				.NET
				。
				 Rotor
				生于
				2002
				,微软是他的创造者。
				Rotor
				的目标:实现一个
				CLR
				运行环境,包括一个
				C#
				和
				Jscript
				的编译器,此外还有一系列诸如汇编
				/
				反汇编工具、调试器等等。
		
		
				Rotor
				可以运行在
				Windows
				、
				FreeBSD
				以及
				MAC OS X
				上,并完全提供源代码。阅读
				Rotor
				的源代码,也许可以帮助程序员更好的理解的
				.NET
				的整体架构。
				
						
        
				不过,
				Rotor
				也许只是两年前微软的一个应景之作,
				Rotor
				已经许久没有更新了。有了
				Mono
				,
				Rotor
				的存在价值又有几何呢?
		
		
				
						
								4、 
								Mono
								的过去与现在
						
				
		
		
				Mono
				的历史还不长,从
				2001
				开始到现在也不过四五年时间。在这段时间里他默默的走着。当我们意识到他的存在的时候,他已经进度过了他的童年。
		
		
				2006
				年
				1
				月
				11
				日
				 Mono 1.1.13 
				发布了。现在
				Mono
				已经重实验室走了出来,已经运行在一些服务器上了,虽然不多但是毕竟已经有了商业应用。
				Mono
				的路才刚刚开始。
		
		
				
						
								5、 
								Mono
								的前途
						
				
		
		
				Mono
				未来的处境不是很好,因为当今的两大巨头微软和
				SUN
				都不支持他。因为微软的头号敌人是
				Linux
				,微软和
				SUN
				的斗争其本质是
				OS
				的竞争,微软是绝对不会让
				Linux
				得到普及的。而
				SUN
				的最大砝码是
				JAVA
				如果大家的都不用
				JAVA
				哪
				SUN
				还由活路吗?所以
				Mono
				要想生存下去必须有一个足够有实力的公司和微软和
				SUN
				抗衡,
				Novell
				显然不被看好,但是如果
				Mono
				真的能发展起来的话哪
				Novell
				是不是会和微软和
				SUN
				平起平坐呢?三足鼎立的时代会来临吗?
		
		
				
						
								6、 
								结束语
						
				
		
		
				最后,我想说一下我对
				Mono
				的态度,我希望
				Mono
				成功,软件开发需要革命性的进步,一切事物的进化都符合客观规律。在一定的时候一定会有一场革命。
		
		
		
		Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=582883