为什么.net和java这么像,他们什么关系啊?

Python015

为什么.net和java这么像,他们什么关系啊?,第1张

严格来说是C#与java很象,那是因为你不知道两者之间的关系而已,严格说来,C#与java并没有任何关系,但事实上两者千丝万缕的联系。

有四个年轻人坐要咖啡店里讨论着——然后他们就开发出一个新的语言,java,有人说当时他们喝的咖啡名读音是java, 也有人说那个咖啡店名叫java,但不管怎么说java是一杯咖啡的标志说明了这个传说还有真实性的。

java语言是以C++为蓝本,然后以为了跨平台的特性,采用了虚拟机,内部使用了类库的方式,简化了C++语言,所以两者读言十分相近,相近到不能用相似去描述了,也在是说两者在语未能几乎等同,所不同的就是采用虚拟机的不同,以及类库的机制使用很多调用不同而已,除去这几个方面,基本没有什么不同点了!

在java推出时,java很容易赢到了用户,很多c++上的程序员都转到java上来,他们看到的是两者几乎相同的语法,于是有人称java为C+++,最后一个+号表示是C++的升级版,在有可取代c++之意,当然还有一些比较公正的评价,认为许多系统函数什么的都移植到了类库了,所以就在java语言来说,不考虑虚拟机与类库情况,java就是C++的一个简化版,而类库则是其功能的加强,所以也有程序员称其为C++-,意思是C++的简化版。

这事微软当然不愿意,于是microsoft与sun公司就打了一架,microsoft认为sun是在侵权,但结果是java采用的是虚拟机与类库与C++完全不同的机理,于是microsoft败诉——好象这货给小公司打官司就没有赢过。microsoft在该种情况下拒约与sun合作,将其在浏览器中的applet删除,当时IE所占比例非常大,为了不失去applet的阵地,sun公司起诉了微软——而且这次微软件又败,IE中必须集成sun公司的applet——但微软件却拒绝再给applet任何更新!

丢掉了很多用户之后又输掉了官司——看来国外的官司是论理不论钱的,要不在中国微软肯定不会受这气的。微软件抽调了几十名工程师去研究java机制——最终发现这玩意真不错,于是开始工始开发一门新的语言,据说内定为java+,也就是对java进行升级,sun公司的技术实力肯定不如微软,意图夺回自己的用户。

于是取java之长,C++之精,成就了一门新的语言,就是C#,其实明眼人都看得出来,什么C#啊?不就是C++++么?!也是采用了虚拟机,考虑了跨平台性,也采用了类库!但是这也造就了java与C#的高度相似。

sun以侵权将microsoft的C#放上了法庭,这个倒霉的家伙又一次输掉了官司,但忘记怎么的处理结果,但C#却被正常发布出来了。

从这个小简短的故事中你可以看出为什么两者没有任何关系却又高度相似的原因了吧?

java是一种跨平台的语言 。.net是一种跨语言的平台。

java是sun公司的,目前oracle收购(不细谈这没用的)

.net是Microsoft的,是一个平台,在这个平台中有很多语言,典型的C,C++,C#,VB

为什么说是一个平台,原因他们编译后都底层兼容性很好,具有公共运行时。

java跨平台语言是说可以在不同的操作系统上执行同一代码,比如windows和linux

java之所以跨平台,是因为java源文件编译为class文件,java虚拟机(JVM)载入class运行,不同平台JVM是不同的,但是程序员不用管,写的源代码都是一样的,所以可以跨平台。