ASP.NET编程:Java和.NET持续争斗的四年夜相干成绩仓酷云
在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来架构,却不知道如何下手。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。 平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。 使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境! 这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。
页:
[1]