给我介绍一下JAVA和.NET吧
5个回答
展开全部
自从.NET问世以来,程序员都很关心的一个问题是「该学Java或.NET」。我也在挣扎,该「该继续Java的研究,或者该开始准备培养.NET的知识」。
当然,最好是能两者兼顾,但是每个人的时间都很有限,想要兼顾两者,其实不太容易。投入在.NET的时间越多,所能花费在Java的时间自然就少了,反之亦然。在信息爆炸的时代,重要的不是信息的取得,而是信息的抉择。信息太多,时间太少,如果不能慎选适合的技术,只会平白浪费许多时间,斫丧自己的竞争力。
由于我喜新厌旧的个性使然,过去这两年半,我着实花了不少时间在.NET上,对于.NET的认识越来越深,也修正了对于.NET原先的一些误解,渐渐的认同.NET的许多技术理念。姑且不论我们对于微软是褒是贬,单纯就技术本身来看,.NET的确培消是很卓越的。
我并不是唯一一个这样想的人。以「Thinking in Java」等技术书籍广受欢迎的Bruce Eckel也是如此。他原本认为C#和.NET只是Java的模仿者,并无新意,但是在深入了解之后,才发现C#和.NET其实是改良版的Java,不管在各方面,都有比Java更突出之处。当我看到Bruce Eckel说出这样的话,我感觉他说出了我的心声。
下面,我试图从许多不同的角度,简单地比较Java和.NET。
从技术的观点
通常新的技术会比旧技术更好,因亮斗为新技术可以从旧技术学到优点,且新技术可以摒除旧技术的缺点。NET比Java诞生的时间晚了六年,许多方面都比Java先进,当然是无庸置疑。
我的意思并不是Java这六年停滞不前,事实上,Java一直在进步中,只是有许多缝缝补补、修修改改的地方。例如,XML是在这六年之间出现的技术,所以.NET对于XML的整合可以说是天衣无缝,但Java是后来才把XML整合进来,且整合的程度比不上.NET。
从历史的观点敬中磨
以史为镜,可以知兴替。如果你了解近二十年的软件产业发展史,你会发现微软挫败的机会很小,即使是在头几场战役失败,也会在整场战争中获胜。换句话说,.NET挫败的机会不大。在Office软件大战中,WordPerfect、Ami Pro、Lotus 123如今安在?在操作系统大战中,OS/2也已经销声匿迹。在浏览器大战中,Navigator如今只整剩下小小的疆土。你一定可以举出更多这样的例子。
从市调的观点
分析机构如Meta Group和IDC皆预测,在Windows Server 2003推出之后,未来几年市占率会大幅提高。我认为,在longhorn推出之后(2006年?),PC更是会全面.NET化。由于「精通」.NET知识可能需要费时两三年以上,技术人员应该尽量提早学习.NET以为因应。
三年前(2000年)学习.NET恐怕有点太早,三年后(2006年)学习.NET恐怕有点太晚,而现在学习.NET正是时候,不会太早,也不会太晚。学会之后,可以立刻投入市场对于.NET技术的人力需求。
从行销的观点
任何人都不能否定微软行销功力的厉害。平面的行销,包括在电子时报、IT Home等信息媒体,甚至连商业周刊等非信息媒体,都看得到相关的广告。动态的行销,包括PDC、TechEd.、修练讲座、产品发表会…等活动,直接走入人群,接触客户。电子的行销,包括MSDN中英文网站、微软TechNet Flash新闻信…等,提供技术新知。
另外,还有多得拿不完的教学光盘,读不完的线上文件,看不完的Microsoft Press出版品…。我发现,微软的作法和另一家公司的作法大相径庭。微软给我们一堆技术信息,要什么有什么,但另一家公司却常常把信息当成「传家宝」,舍不得释放出来给大众,连透过内部管道都还不见得拿得到,「好象很不希望有人学习他们正大力推广的技术」。
从销售指针的观点
关于某个城市的消费者物价指数,麦香堡指针(BigMac Index)是一个很有名也很简易的评估指针。我也发明了一个类似的指针,称为天珑指针(TenLong Index),可以用来评估IT技术的热门程度。天珑书局是台湾最大的IT图书门市,它的技术书籍销售量,对于判断技术的热门程度,有一定程度的参考价值。
2002年全年和2003年上半年,天珑书局在.NET书籍的销售量都不高,但是在2003年下半年之后,.NET书籍已经有相当不错的表现,这意味着最近准备采用.NET技术的公司已经增加了。
我记得在Java推广初期,由于大家对于Java认知不够,所以对于Java有许多FUD存在。现在微软在推广.NET上,也遭遇到许多FUD,这是微软目前必须极力消除的障碍。如果你对于.NET也存有这些FUD,你不妨尝试着去破除这些FUD,就如同七八年前破除Java的FUD一样。你将会发现,就目前来说,.NET是一个非常有潜力的技术,值得投入
当然,最好是能两者兼顾,但是每个人的时间都很有限,想要兼顾两者,其实不太容易。投入在.NET的时间越多,所能花费在Java的时间自然就少了,反之亦然。在信息爆炸的时代,重要的不是信息的取得,而是信息的抉择。信息太多,时间太少,如果不能慎选适合的技术,只会平白浪费许多时间,斫丧自己的竞争力。
由于我喜新厌旧的个性使然,过去这两年半,我着实花了不少时间在.NET上,对于.NET的认识越来越深,也修正了对于.NET原先的一些误解,渐渐的认同.NET的许多技术理念。姑且不论我们对于微软是褒是贬,单纯就技术本身来看,.NET的确培消是很卓越的。
我并不是唯一一个这样想的人。以「Thinking in Java」等技术书籍广受欢迎的Bruce Eckel也是如此。他原本认为C#和.NET只是Java的模仿者,并无新意,但是在深入了解之后,才发现C#和.NET其实是改良版的Java,不管在各方面,都有比Java更突出之处。当我看到Bruce Eckel说出这样的话,我感觉他说出了我的心声。
下面,我试图从许多不同的角度,简单地比较Java和.NET。
从技术的观点
通常新的技术会比旧技术更好,因亮斗为新技术可以从旧技术学到优点,且新技术可以摒除旧技术的缺点。NET比Java诞生的时间晚了六年,许多方面都比Java先进,当然是无庸置疑。
我的意思并不是Java这六年停滞不前,事实上,Java一直在进步中,只是有许多缝缝补补、修修改改的地方。例如,XML是在这六年之间出现的技术,所以.NET对于XML的整合可以说是天衣无缝,但Java是后来才把XML整合进来,且整合的程度比不上.NET。
从历史的观点敬中磨
以史为镜,可以知兴替。如果你了解近二十年的软件产业发展史,你会发现微软挫败的机会很小,即使是在头几场战役失败,也会在整场战争中获胜。换句话说,.NET挫败的机会不大。在Office软件大战中,WordPerfect、Ami Pro、Lotus 123如今安在?在操作系统大战中,OS/2也已经销声匿迹。在浏览器大战中,Navigator如今只整剩下小小的疆土。你一定可以举出更多这样的例子。
从市调的观点
分析机构如Meta Group和IDC皆预测,在Windows Server 2003推出之后,未来几年市占率会大幅提高。我认为,在longhorn推出之后(2006年?),PC更是会全面.NET化。由于「精通」.NET知识可能需要费时两三年以上,技术人员应该尽量提早学习.NET以为因应。
三年前(2000年)学习.NET恐怕有点太早,三年后(2006年)学习.NET恐怕有点太晚,而现在学习.NET正是时候,不会太早,也不会太晚。学会之后,可以立刻投入市场对于.NET技术的人力需求。
从行销的观点
任何人都不能否定微软行销功力的厉害。平面的行销,包括在电子时报、IT Home等信息媒体,甚至连商业周刊等非信息媒体,都看得到相关的广告。动态的行销,包括PDC、TechEd.、修练讲座、产品发表会…等活动,直接走入人群,接触客户。电子的行销,包括MSDN中英文网站、微软TechNet Flash新闻信…等,提供技术新知。
另外,还有多得拿不完的教学光盘,读不完的线上文件,看不完的Microsoft Press出版品…。我发现,微软的作法和另一家公司的作法大相径庭。微软给我们一堆技术信息,要什么有什么,但另一家公司却常常把信息当成「传家宝」,舍不得释放出来给大众,连透过内部管道都还不见得拿得到,「好象很不希望有人学习他们正大力推广的技术」。
从销售指针的观点
关于某个城市的消费者物价指数,麦香堡指针(BigMac Index)是一个很有名也很简易的评估指针。我也发明了一个类似的指针,称为天珑指针(TenLong Index),可以用来评估IT技术的热门程度。天珑书局是台湾最大的IT图书门市,它的技术书籍销售量,对于判断技术的热门程度,有一定程度的参考价值。
2002年全年和2003年上半年,天珑书局在.NET书籍的销售量都不高,但是在2003年下半年之后,.NET书籍已经有相当不错的表现,这意味着最近准备采用.NET技术的公司已经增加了。
我记得在Java推广初期,由于大家对于Java认知不够,所以对于Java有许多FUD存在。现在微软在推广.NET上,也遭遇到许多FUD,这是微软目前必须极力消除的障碍。如果你对于.NET也存有这些FUD,你不妨尝试着去破除这些FUD,就如同七八年前破除Java的FUD一样。你将会发现,就目前来说,.NET是一个非常有潜力的技术,值得投入
展开全部
改行多年的程序员飘过,两者基础语法基本一样,引用层面上,java的路子更广一些,胡卖老java比裤升.net最大的优势就是开源性和跨平台性,不过个人感觉一辈子做一个程序员前途太渺茫了,一个月八千怎么了,过了三十岁就熬不动了,况且现在各种程序员培训机构如雨后春配缺笋般遍地开花,低级程序员队伍越来越大,等你学的差不多的时候你就会发现,工作并不像你想象的那么好找,但是如果你有三年开发经验的话,那绝对的香饽饽,很多公司都会抢,只不过,等你有三年工作经验的时候,你也就二十四五岁了,还能干几年呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java和.net的技术本质相同
区别,java应用是运行在jvm上的字节码
.net应用是编译到clr再由clr转机器语言
也就是说,net应用最终会部分被转成机器语言,而java不会
javaAPI面向所有主要平台
.NET Framework基本就面向windows
也就是说MS搞出了一个跑在虚拟机上,却不跨平台的东散洞慎东
因此被认为是一个wintel阴谋
但是从包含内容上来说.NET Framework > JavaAPI
.NET Framework Core 大致等于 JavaAPI
在Java上,你要做某个领域的开发,一般需要另外加这个领域的独立框架, 如Spring, Hibernate等
而.NET Framework一般包含一些常见的专用框架,譬如ASP.NET
.NET采用CLR即达到语言无本质差别
但也因此把一些现有的语言搞得面目全非
特别受到C,C++程序员的抱怨
不过主流的.NET是C#
在语法上,c#继承自java又加入了一些C,C++语言功能在unsafe, uncheck区块内,也从haskell那里加入冲敬了lambda表达式,并自创了linq语法
总体上来说你可以理解C#为一个充满了grammar sugar并且企图同时提供java与C特性的语言,这让C#基本成为了这世上最庞杂颤巧的语言,易于学习上手,但难于精通
区别,java应用是运行在jvm上的字节码
.net应用是编译到clr再由clr转机器语言
也就是说,net应用最终会部分被转成机器语言,而java不会
javaAPI面向所有主要平台
.NET Framework基本就面向windows
也就是说MS搞出了一个跑在虚拟机上,却不跨平台的东散洞慎东
因此被认为是一个wintel阴谋
但是从包含内容上来说.NET Framework > JavaAPI
.NET Framework Core 大致等于 JavaAPI
在Java上,你要做某个领域的开发,一般需要另外加这个领域的独立框架, 如Spring, Hibernate等
而.NET Framework一般包含一些常见的专用框架,譬如ASP.NET
.NET采用CLR即达到语言无本质差别
但也因此把一些现有的语言搞得面目全非
特别受到C,C++程序员的抱怨
不过主流的.NET是C#
在语法上,c#继承自java又加入了一些C,C++语言功能在unsafe, uncheck区块内,也从haskell那里加入冲敬了lambda表达式,并自创了linq语法
总体上来说你可以理解C#为一个充满了grammar sugar并且企图同时提供java与C特性的语言,这让C#基本成为了这世上最庞杂颤巧的语言,易于学习上手,但难于精通
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JAVA和.NET的主要区别如下:
JAVA支持多平台,单一语言;.Net支持多语言,单一平台。
JAVA是多家公司维护一个产品;.Net是一家公司维护多个产品。
二段坦者都支持多层分布式应用的标准架构。
.NET Framework和JAVA都有一个受控的运行时环境,它不但将源代码转换成中间语言,而且将这些中间语言编译成本地的可执行代码。两个环境都支持碎片整理、动态饥缺类加载和异常处理等。
.NET和JAVA都倡导和支持基于组件的设计、多态性、继承和接口、反射、泛型等,也提供基烂燃辩础类库来执行I/O、XML处理、带有连接池的数据库接入、文本操作与网页脚本编写。
.NET Framework提供了一个跨服务器、PC和其它设备的一致的、面向组件的模型。而JAVA提供EJB作为服务器端的组件模型。
JAVA支持多个操作系统平台;.Net则基于Windows平台,但是支持多种语言,稳定性强。
JAVA支持多平台,单一语言;.Net支持多语言,单一平台。
JAVA是多家公司维护一个产品;.Net是一家公司维护多个产品。
二段坦者都支持多层分布式应用的标准架构。
.NET Framework和JAVA都有一个受控的运行时环境,它不但将源代码转换成中间语言,而且将这些中间语言编译成本地的可执行代码。两个环境都支持碎片整理、动态饥缺类加载和异常处理等。
.NET和JAVA都倡导和支持基于组件的设计、多态性、继承和接口、反射、泛型等,也提供基烂燃辩础类库来执行I/O、XML处理、带有连接池的数据库接入、文本操作与网页脚本编写。
.NET Framework提供了一个跨服务器、PC和其它设备的一致的、面向组件的模型。而JAVA提供EJB作为服务器端的组件模型。
JAVA支持多个操作系统平台;.Net则基于Windows平台,但是支持多种语言,稳定性强。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、都是支持OOP的开发语言。
2、.NET更加容易上手,毕竟微软的告型东西相对人性化些岩友空(个人见解),JAVA出现的更早些,.NET可以说抄袭了很多JAVA成功的东西。
3、两者语法很相似。
4、JAVA如果学的高粗瞎深比.NET的开发人员收入高。
5、JAVA和.NET孰优孰劣,网上的吵架帖很多,自己去搜索。
我是做.NET的,JAVA不太懂。以上纯属个人见解,来拿分的。。。。
2、.NET更加容易上手,毕竟微软的告型东西相对人性化些岩友空(个人见解),JAVA出现的更早些,.NET可以说抄袭了很多JAVA成功的东西。
3、两者语法很相似。
4、JAVA如果学的高粗瞎深比.NET的开发人员收入高。
5、JAVA和.NET孰优孰劣,网上的吵架帖很多,自己去搜索。
我是做.NET的,JAVA不太懂。以上纯属个人见解,来拿分的。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询