Java与.net的优势缺点?

2024-12-29 08:54:11
推荐回答(5个)
回答1:

java和.net我都做过开发,说下个人感觉(仅为个人观点)。
从框架上说,.net里分.net Webform和.net MVC。我认为这是两个截然不同的东西。

.net MVC和java ssh我感觉差不多。好坏仁者见仁智者见智,我觉得.net MVC更方便一些,并且MVC的框架本身也开源了,也有很多不错的插件。
.net Webform就不一样了(当然现在.net中 Webform开发还是占据大多数),开发速度快,简单易学,好上手,跟开发客户端程序似的,中小型项目中用的挺多。
不过我个人不建议使用.net Webform再开发了,拖控件之类的开发模式对web发展,还是自身发展有害无益。MVC用熟了也不慢(当然上手比较难),实在追求开发速度用ROR更快。

从语言上说,C#和java我感觉也没什么区别。C#新版本有很多lambda,动态类型之类的新语言特性,还有大量的语法糖。
不过java可以跨平台,这点C#无能为力。

从社区上说,java毕竟一直开源,社区感觉还是要比.net更好一些。(ps:不要忽略社区的力量,不过Java自从被Oracle收购后。。。。。不爽啊。)

从就业上说,也差不多,分地区。Java貌似略好。

从面子上说,貌似java开发人员更有优越感~,国内有看不起.net的现象。

以前有种说法,Java适合开发大项目,.net适合中小型项目。这个我也基本赞同。

最终观点,无论是语言还是框架只是一种工具,能完成项目的前提下,哪个成本最低用哪个。程序的设计思想都是一样的。

如果热爱技术的话,Web开发中ror(国外都快没落了,中国都还没火起来)、node.js(这个我感觉比较有前途)等新兴技术最好也能了解了解,虽然就业上可能费劲一些,多数都是外企要这类人才。不过这也是web技术发展的趋势。

纯手打~望采纳!

回答2:

c#的一些特征:
完全支持类和面向对象编程,包括接口和继承、虚函数和运算符重载的处理。
定义完整、一致的基本类型集。
对自动生成XML文档说明的内置支持。
自动清理动态分配的内存。
可以用用户定义的特性来标记类或方法。这可以用于文档说明,对编译有一定的影响(例如,把方法标记为只在调试时编译)。
对.NET基类库的完全访问权,并易于访问Windows API。
可以使用指针和直接内存访问,但C#语言可以在没有它们的条件下访问内存。
以VB的风格支持属性和事件。
改变编译器选项,可以把程序编译为可执行文件或.NET组件库,该组件库可以用与ActiveX控件(COM组件)相同的方式由其他代码调用。
C#可以用于编写ASP.NET动态Web页面和XML Web服务。
对于上述大多数特性,VB.NET和Managed C++也具备。但C#从一开始就使用.NET,对.NET特性的支持不仅是完整的,而且提供了比其他语言更合适的语法。

JAVA是解释型语言,运行速度效率极低,不支持底层操作! (致命)
Java一般不用于建立大型项目。
JAVA取消了指针操作,不够C语言那样灵活。(既是优点,又是缺点)
区别:c#吸收了JAVA和c++的一些特点,如果有时间的话应该了解C++的基础知识,这样对于学JAVA和c#都有帮助,至于JAVA和C#哪个更好,是开发习惯问题了,JAVA入门比较难,但是基础知识只要牢固了提高更快,C#入门很容易,但是要提高很难.

回答3:

怎么说呢,本人都研究过,。net的话开发环境比较好,而且一些方法类库都给封装好了,所以这个开发起来很方面。
java的话,手机平台应用的比较多,但是,开发环境的话就不用我多说了,编写程序很不舒服!

回答4:

想跟微软混,就走.net
想跟手机啦,嵌入式神马的就走java。

我当初就是想在windows里开发一些桌面应用,就走了、net路途,因为当初如果我学java,开发出来东东没有地方运行的。还不如windows市场大,朋友,小商家什么的,还有自己用电脑比如办公时一些反复重复工作,就可以用,net开发一些小程序去干。
如果java拥抱者说java也能干,我还想告诉你C语言、pascal更能干,你为啥不去学C语言pascal?

回答5:

net core是完全开源的,跨平台的,具有极高的并发量的集成开发框架,从运行效率和开发速度上看,确实要比java要高出不少,问题在于能用的轮子太少,国内的先例并不多