您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
java和.net有什么区别?
语言,都是,语法java和.net有什么区别?
发布时间:2016-12-08加入收藏来源:互联网点击:
问题补充: 对于一个大二代码能力平平的女生来说怎么选择?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
.net 和java有什么区别
作为.net 和 java 的重度使用者,我已经使用两者作为主要的开发语言已经十五年了.
.net 和 java是非常相似的语言.因为在.net诞生之初就借鉴了不少java的语言设计特性.语法上比较相似,面向对象的实现上也大致相同.在学习完这两者中的任何一个,基本可以无疑的切换到另一种语言.
理论上的区别和经验我就不说了,这个在网上随便一查就能查到了.说说使用上的体验的不同吧.
一、生态上:
java因为早年的开源定位,形成了非常丰富的生态,第三方的组件,第三方的框架。比如现在的云应用,AI应用等。 但是说回来,.net这方面也不算差,不能犯西方的双标,不能有傲慢和偏见,现在的语言之争,往往就是因为个人在使用某一种语言对另一种语言了解不深入导致的。.net的主流的框架还是由微软在主导,同时这也带来了的好处,比如风格一致性,比如高的质量.而且因为近几年的开源定位,可以说迎来了一个非常大的改观。在国内可能java的整体用量会多一些,在欧美可不是这样.
在微服务这个层面,java 现在有spring cloud套装,.net没有直接对标的,但是同样能完成所有spring cloud能完成的功能对应的框架.只是因为两者在理解上不一样造成的.就好像武当和少林,各有各的打法, 就看你习惯哪一种,打好了都是高手。
java 原生支持跨平台,.net framework 以前是只在windows上有使用,现在.net core 乃至新出的.net 5 ,已经完全打通了全平台,甚至包括物联网、移动设备,是非常的犀利啊。
二、语言本身:
从语言语法设计,语法糖,语言特性上我是非常喜欢.net的.真正的范型,完美优雅的async,await.语法的编写习惯, 在.net core 和 .net 5上更是抛弃了.net framework的历史包袱,轻装上阵,更现代化,更快.
java 的诞生是要早于.net的, 也造成了他的包袱更重,因为底层实现的一些原因,不能实现真正的范型,往往很多.net实现起来很优雅的在java上实现是很蹩脚的.
在命名上java的相对缺少一些清晰的设计的.比如:
公有方法和私有成员变量都是是首字母小写的. 为帮接口是首字母大写的. 接口没有明确的标识,推荐的标准是 在实现类上增加 impl 后缀.
而在.net上,方法都是首字母大写,接口由大写的I形状 如 IPerson.实现类不用任何有侵入性的标识.
当然还是那句话,你习惯了一切都不是事.命名都只是为了让大家容易记住和分辨.
三、开发工具:
这点上java 和 .net是不能比的. 宇宙无敌的编辑器visual studio 有完全的优势,当然同时你也得有个更强大的电脑来做支撑. eclipse、android studio也很不错。
都用vs code开发也是非常不错的选择. 小巧而且快速. 在服务器上调点程序,改点东西临时做个测试我都是用vs code来做的.
当然还有很多其它的区别,也有很多其它的语言可以用来入门,比如python我觉得是开发入门最好的语言,简单,容易,实用范围广,而且未来可期.
但是不管什么语言,剥去语法层面的东西(这些东西任何一本入门的书,新手认真看个一周应该就差不多了),剩下的就是程序设计思想,和相应的框架的熟悉了.而且这些只关乎你的认知,你的思维. 所以学任何语言都一样.
如果硬要在java和.net上选一个适合你入门的话,我推荐.net. 因为.net更容易开始着手,不会自己去做各种环境配置,安装visual studio建项目,开始敲代码就行了.这样会让你在入门的时候的信心少受一点打击. 方便你慢慢深入.
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |