Java与.net的优势缺点?

 我来答
弈鬼
推荐于2017-10-07 · 超过16用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:36万
展开全部
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技术发展的趋势。

纯手打~望采纳!
追问
你好!多谢的热心和耐心回答!本人是一个初学者!!对这些语言不怎么了解!不知道他们的优越性和就业前景与方向!我还想问你一些问题!个人觉得一个语言要有比较好的跨平台性能才有更好的前景不知道算不算观点!python适合.net平台!不知道以后.net会不会有更大的发展!
追答
python是一种语言,而.net算是一种平台吧。之间没有什么联系。python运行在PVM上,所以python也是可以跨平台的。python也是有自己的web框架的,比如django。
python虽然也可以再.net平台上用,叫ironpython貌似,不过他还是基于.net平台上的。
.net现在也有跨平台的解决方案mono,所以很多原来linux下的开发工具都有了.net的开发版本。
也就是说.net如果实在要实现跨平台,也是可以实现的。(个人总觉得很勉强,而且不习惯)

这里有很多技术名词,如果想知道详细的话,自行百度一下。
如果追求跨平台的话,还是不建议选择.net。能完美跨平台的语言很多,ruby/python/node.js(javascript)/c/c++/java/go 等等。。。具体得看你要做啥了,网站、客户端、移动客户端、驱动程序、操作系统。。。都不一样。
匿名用户
2018-12-13
展开全部
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#入门很容易,但是要提高很难.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帝神孤
2014-02-27 · TA获得超过189个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:140万
展开全部
怎么说呢,本人都研究过,。net的话开发环境比较好,而且一些方法类库都给封装好了,所以这个开发起来很方面。
java的话,手机平台应用的比较多,但是,开发环境的话就不用我多说了,编写程序很不舒服!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
userbd1
2014-02-27 · TA获得超过149个赞
知道答主
回答量:155
采纳率:0%
帮助的人:17.8万
展开全部
想跟微软混,就走.net
想跟手机啦,嵌入式神马的就走java。

我当初就是想在windows里开发一些桌面应用,就走了、net路途,因为当初如果我学java,开发出来东东没有地方运行的。还不如windows市场大,朋友,小商家什么的,还有自己用电脑比如办公时一些反复重复工作,就可以用,net开发一些小程序去干。
如果java拥抱者说java也能干,我还想告诉你C语言、pascal更能干,你为啥不去学C语言pascal?
追问
多谢你的热心回答!受教了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
癯月笑浮生
2018-06-02 · TA获得超过2795个赞
知道小有建树答主
回答量:2657
采纳率:76%
帮助的人:448万
展开全部
net core是完全开源的,跨平台的,具有极高的并发量的集成开发框架,从运行效率和开发速度上看,确实要比java要高出不少,问题在于能用的轮子太少,国内的先例并不多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式