初学者总是轻易停留在学这个语言好呢,还是学那个语言好呢,这个问题,总是权衡各种利弊.现在各种语言五花八门,今天流行这个,明天流行这个,有的时候,晕的时候比清醒地多.
今天和同事一起聊了聊Net和Java,目前这两种体系非常流行,在企业级的应用平台上选择Java好的还是Net 好.Java是一种编程语言,它最大的优点是跨平台,可以运行在目前各种流行的操作系统上.Net是一种体系,它的目的是让不同语言可以在Windows系统上交互,同时提高软件的安全性.Net和Java在编译时都会编译一种中间代码,然后通过运行时进行执行.两者的区别很明显,Net应该是Java底层的一种应用系统.
Windows系统的一个特点是,各种语言都是运行在各种Api之上,各种语言编写的程序,只不过是通过不同方式组装了Api进行调用.随着软件的广泛应用,存在一种问题,就是系统中各种服务如何交互,系统中的各种服务如何相互集成,因此逐步出现了组件.由于组件底层的不一样,各种语言编写的组件相互调用出现了很多的困难,调用方式复杂,Microsoft因此根据形势提出了Net框架.最近经常看到一些安全公告,XX软件存在安全隐患,能够造成系统治理员权限泄露,或者远程执行某种操作,这种问题的根源在于,传统开发的软件直接调用了系统核心组建,没有进行安全检查,造成系统安全的泄露.用Net解决这个问题,也是Microsoft改变windows安全缺陷的一种办法,确实得说Net是一个非常有价值的方案.
上个世纪80年代,人们一直在争执,采用微内核好还是内核好,采用微内核能够提高系统的效率,采用内核有利于系统的统一治理,目前两种方式运用于目前比较流行的系统里,很难说哪种好.不过在给不同系统编写程序,是程序跨平台,各种语言相互调用,现在哪种语言都显得很紧张和吃力,即使是用C++编写的程序,在window和unix也无法跨平台,因为他们对底层的操作存在差异,假如有一种标准体系,可以让各种语言采用标准接口编译,那么程序就可以跨平台了,同时还可以让各种语言编写的程序相互调用,那么这是不是一场伟大的进步.Net就是向这种方向迈进的,但是Microsoft为了自己不可能去考虑这种情况,所以Net也只是Microsoft的产品.假如把其标准化,成为系统的统一标准,系统生产商针对这些标准去编写系统,软件开发者只用去编写程序就可以了,不用考虑更多的系统因素.其实这个目的也就是让Java也用行在Net之上.
目前Net似乎有点迷茫,除了几家小公司在那里努力的去奋斗,它的亲身父亲也不知道该怎么办,因为这场革命很轻易牵涉到自己的利益,虽然自己提出了Net但是Net如何发展,对于Microsoft都很难说清楚,因为公司的所有利益并非站在Net之上,假如改变这些,这将改变公司的很多东西.Net是一个好东西,从目前我所做的工作,我越来越喜欢Net了,他让我的集成变得更加轻易简单,只是有点担忧它的发展.假如有一家有实力的公司能够抗起Net大旗,让系统的统一标准接口成为现实,相信这场革命将燃遍世界的每个角落.