|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。 在本篇文章中,出名程序员JustinJames会商了Java的将来,和Java与.NET的开辟本钱对照,和Java是不是可以代替.NET。Justin在文中总结了四大体点,重点存眷了两个运转时在功能和本钱上的异同的地方。
1、JavaSE7遭受.NETCLR会产生甚么?
从JavaSE7的功效列表中能够看出,它比拟之前版本有了长足进步。那末,它是一个游戏改动者吗?我以为不会是如许。在已往数年中,JVM和.NETCLR都产生了浩瀚改善;已往那些只要手艺十分崇高高贵的程序员才干完成的很多事变,如今借助于JVM和.NETCLR的加强功效,一般程序员也可以做失掉。
只管JVM和.NETCLR并不是在统一个工夫完成不异的设法,可是假如在一方呈现了某个好的设法,另外一方也会敏捷跟进,这一点不单单表现在运转时层面上。举例来讲,关于Java来讲,Hibernate项目获得了伟大乐成后,.NET也敏捷推出了NHibernate。而.NET的闭包(closures)功效深受浩瀚开辟者的接待,Java仿佛不久也将完成它们,固然,这是一个言语功效,而非运转时功效。
<br>
.NET闭包年夜受好评,Java也将敏捷跟进
2、在能够预感的将来,一个运转时是不是会完全击败另外一个?
只管从手艺层面上JVM和.NETCLR十分类似,但它们都有本人的市场,二者的天真性都不是很强。假如一团体已环绕.NET服务器和IIS创立了他们的基本架构,他不成能第二天醒来把一切这些迁徙到Java,反过去也是如许。乃至假如一个公司决意切换本人的开辟平台,那它大概必要交换全部开辟团队,大概重新入手下手对他们举行培训。即便培训完成后,在妙技上仍是存在严峻的不敷;究竟,一个初级.NET开辟者不成能在经由3个月培训后俄然酿成一个初级Java开辟者。
别的,公司必要保存现有手艺职员来保护已有的代码。你以为这些员工会坐视他们的职位被作废,大概他们的妙技将变得无用或升值吗?固然不会。对一个公司来讲,完整从Java转向.NET或完整从.NET转向Java,都是一种他杀举动。最多是经由过程一个多年期项目来对员工举行从头教导。自从.NET公布以来,从VB6到.NET的迁徙都已花了8年工夫。
<br>
程序员和项目标转型必要工夫
3、Java开辟的本钱是不是比.NET开辟更具经济性,假如是如许,人们是不是会转向Java来节俭投资?
假如你仅仅着眼于工具,我的谜底是“既对也错。”切实其实,只需你乐意,你能够在一个完整开源的组合上运转Java。你能够接纳Linux/Tomcat/MySQL/Java组合,大概在服务器方面利用SpringSource组合(51CTO编者注:关于SpringSource服务器组合,有人倒是暗示不满的,能够参考这篇文章),在开辟者的盘算机上利用Eclipse或NetBeans。可是必要指出的是,不管出于甚么缘故原由,你都不会是开源替换产物的狂热撑持者,我并不是说替换产物就欠好;假如是那样的话,与.NET工具比拟,Java工具的代价相称,在良多情形下乃至更贵。并且从甲骨文和IBM等公司正在举行的营业来看,很分明很多公司以为有需要付费购置专有Java工具。就代价而言,在任一指定市场范畴,微软几近老是代价最低的企业类厂商。
别的,你必需思索到假如没有切换本钱公司将会省下几钱。一个VisualStudio正本的本钱要远低于一其中等支出开辟者的周薪和保险金(51CTO编者注:作者Justin是美国人)。并且统一个开辟者学会Java而且到达他善于.NET的程度,所必要的工夫要远宏大于一周工夫。
出于公允思索,这类剖析也一样合用于从Java转向.NET。比拟于平台切换的疾苦,开辟工具本钱其实微乎其微。固然也有两种破例情形。第一种情形是新建公司,那末不存在迁徙本钱的成绩。在这类情形下,Java仍然不具有本钱上风,由于微软也已推出了收费版本的VisualStudio(Express版),并且假如你的公司是新创公司的话,经由过程BizSpark企图,你能够收费取得三年MSDN和微软允许,它们还不错。别的一种破例情形是,一个公司具有十分高的服务器-开辟者比例,比方谷歌或雅虎。此类公司大概有很多开辟者研发运转在数千台服务器上的一个使用。在这类情形下,开辟者工具并不是节俭本钱的次要要素,但服务器空间是。关于面对这类情况的公司,Java(和别的开源手艺)能够具有一个决意性的本钱上风。
4、一个Java开辟者必要懂得几剧本言语,才干完成.NET中的效力?
起首,你是不是在举行Web开辟事情?假如是如许,你大概必要懂得一些JavaScript常识,并熟习响应的框架。关于后端事情来讲,晓得一门静态言语或剧本言语不是强迫性或必须的。只管云云,在Java范畴存在很多此种用处的不错选择。关于今朝还不是一位Java开辟者的人来讲,我没有这方面的任何实践履历来先容,可是我听到良多关于Groovy和Scala不错评价。假如你但愿选择某些更支流的手艺,JRuby和Jython是不错的选择。
<br>
有各类体例进步Java使用的功能
在已往数年中,JVM已入手下手大批撑持非Java言语,开辟者如今具有浩瀚选择。学会个中一种一定有助于你成为一个更好的开辟者(即使你其实不在实践产物项目中利用它们),可让你在项目堕入窘境时供应另外一种偏向。
Java是不是会代替.NET?言之尚早。同时.NET也不会没落Java。二者都有本人的上风和优势。我以为,你终极选择它们两其中的哪个,这要取决于团体喜欢和外地职业时机。
以前学了大概半年时间的asp(没有机会做大系统,最多是自己对公司系统做些调整和修改还有一些小程序)。应该说开始接触asp.net是今年元月5号的事。现在很想把公司的系统重新用.net来架构,却不知道如何下手。 |
|