当前位置:编程学习 > JAVA >>

.net / java 哪个更有发展些?

答案:
我谈谈我的看法吧
我个人觉得java/J2EE、.net、嵌入式开发是不错的三个方向。
如果非要在java和.net中选择的话,我个人是推荐java的,原因:
1:Java能够开发linux、unix服务器上的程序
2:JavaEE和.NET在企业应用方面的关注点是差不多的,但是学习了java如果将来想转到.net上会比较简单,几天的学习然后上手开发应该是问题不大的,但是反之就不行了。 当然如果有了些经验之后,你就会发现语言或者平台不再是技术上的阻碍,一些原理性的东西学到手,然后再加上项目经验,使用什么平台,反而不是最重要的。不过如果非要用一种平台进入企业开发的领域,至少在目前,我推荐java。
要想学好JAVA 也不难
关键是要坚持
多看看视频 多编写代码
该学Java还是.NET?

自从.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以为因应。

三年前学习.NET恐怕有点太早,三年后学习.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 开发人员看来,.NET 可能与 Java 平台很相似,它们都提供了一种创建应用程序的结构化方法,都有编译为中间代码的语言,都为应用程序开发提供了一个大型 API 库。但实际上,.NET 的核心有一套与 Java 平台不同的目标。

从概念上讲,Java 是两样东西:Java 平台(运行时和 API)和 Java 语言。Java 平台的用途是支持用 Java 语言编写并被编译为 Java 字节码的应用程序。尽管进行了许多试图将其他语言编译为 Java 字节码的工作,但是这些工作大部分都是学术活动。Java 的理想目标一直是“在多种平台上使用一种语言”。

.NET 也是两样东西:.NET Framework(运行时和 API)和大量支持它的编程语言。.NET Framework 的用途是支持用任一种语言编写并被编译为 MSIL 的应用程序。.NET 的目标是“多种语言共享一种平台”。

以目前的来讲:JAVA比较.NET,JAVA明显薪资偏高,但.NET发展潜力也很大!
  Java更有点发展前途。
现今是没法分的,大家都是一样可以说是平分天下

.net大部分就是C#技术,这些问题的问题,要看它们的应用领域了,在高端服务器的web开发java好点,同时在开源世界如linux,unix等也都是java多(目前能用在linux下的C#还没有吧)。所以说java就是高端服务器比较流行。同时在外金融界,保险界等安全性要求很高的领域也是java的多。

C#而就是Windows平台了,同时也是低端快速开发的,如政府的门户网站啊,企业的首页啊等等,一些办公系统啊什么的,因为C#开发快,这也是和Windows的简单使用有关的。C#各种技术MS都为我们准备好了,一拉就能用,不同java,你要用MVC,还得配置一下stuct,其他的也一样。

同时C#在Windows平台的桌面应用也比较多,因为它开发出来的界面比较细腻,好看,控件多,如VCL一样的多,所以桌面应用如数据库管理系统什么的开发起来就快多了。


如果java用好了,会比C#的工资高多了,因为你如果用好java,就相当于你能进行高端的服务开发,那你的工资自然而然地高了。这不用怀疑。

关于网络开发啊,这要看是什么了,java的网络支持也很强,Web方面也不错。唯一不好就是开发时要配置的东西太多了,一般的java开发人员是做不来的。

C#也有很好的网络支持,同时很多东西都是由VS帮你完成,不用配置很多。此外,上面说了。C#在桌面应用很好,所以如果是像QQ这样的桌面网络应用,就很好了
有人说,Java是为了跨Windows和UNIX而产生的。是这样吗?
  Sun有自己的操作系统solaris,并且打的是高端市场,而Java发展早期阶段,Windows还主要定位在中小型企业,并没有打算与Sun一争高端客户。
  而且Sun的用户大部分都是大型企业级,而Windows定位在家庭消费用户,由于Windows已经成为桌面OS的事实标准,Sun根本无意抢夺 Windows的地盘,而且Sun有自己的操作系统,扩大自己产品销售才是第一。
  但是UNIX一直是个混乱的世界,各种UNIX版本在并存,你为这种 UNIX开发的应用,却很难在另一种UNIX上跑通.应用的阻塞影响了UNIX市场需求的扩大,就象没有SQL Server,没有OFFICE,没有Windows 游戏,和Windows上的开发工具,就算你的操作系统做的再漂亮再容易我们也会扔掉Windows.为什么?因为没用,我买回来一个大铁家伙,我什么也做不了.Sun就出于这种考虑,所以才有VM的想法,否则谁傻了,做个又慢又麻烦的VM.所以说Java的产生,只是为了跨UNIX平台.当然能跨 Windows,吃定Windows,那岂不是更好,呵呵呵,Sun为自己的妙招而没事偷着乐.
  那为什么会有.NET呢?可是Windows就一个呀,它也要跨平台?而且微软已经把CLI提交给标准委员会,看来是真要跨了?真的吗?
  从外表来看,Windows确实是一个.但是从技术角度来看,Windows3,Windows95,Windows2000是截然不同的三种架构.在中国,大家对新技术的追求比较热衷,所以说一个企业中这三种操作系统并存互连的可能性不怎么大.但是老外是精打细算,不见兔子不撒鹰,所以你在国外企业运行很老的系统也不要见怪.微软为了同时维护这几种操作系统也是煞费苦心,而且由于技术是各个时期形成的,有的技术由于历史发展原因有明显的缺陷
  ,也无能为力修改了,而且为了功能更强大,API海洋,DLL黑洞,ACTIVEX,OLE,COM,DCOM,COM+,各种技术交叉,唉,其中苦谁了解?所以跨WINDWOS平台是微软制造.NET的一个原因,这样给你一个抽象的统一的平台后把你摆平后,他再着手修改他的底层,省得一天人们叫着 Windows不安全,Windows不稳定.当然从J2

上一个:Java学习视频教程(上海交大)
下一个:该怎么学习java啊?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,