首页 横向技术分析C#、C和Java优劣

横向技术分析C#、C和Java优劣

举报
开通vip

横向技术分析C#、C和Java优劣横向技术分析C#C+痢Java优劣C蜒生之日起,关丁C心Java之间的论战便此起彼伏,至今不辍。抛却Microsoft与Sun之间的恩怨与口角,客观地从技术上讲,沙Java都是对传统面向对象程序设计在组件化软件时代的革新之果,可谓殊途同归。虽说两个语言有着"90%的重叠”,但那另外"10%勺较量"也往往能够左右一个天平■的方向。本文将携90%之共,论10咆异,对两个语言做纯技术品评。文章不涉及两个语言的公司,市场等台面后的事情--虽然这往往也会影响人们对编程语言的选择。也不预备得出谁是谁的Killer,读者应该选择...

横向技术分析C#、C和Java优劣
横向技术 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 C#C+痢Java优劣C蜒生之日起,关丁C心Java之间的论战便此起彼伏,至今不辍。抛却Microsoft与Sun之间的恩怨与口角,客观地从技术上讲,沙Java都是对传统面向对象程序设计在组件化软件时代的革新之果,可谓殊途同归。虽说两个语言有着"90%的重叠”,但那另外"10%勺较量"也往往能够左右一个天平■的方向。本文将携90%之共,论10咆异,对两个语言做纯技术品评。文章不涉及两个语言的公司,市场等台面后的事情--虽然这往往也会影响人们对编程语言的选择。也不预备得出谁是谁的Killer,读者应该选择谁的问题。”语言选择乃艺术而非技术问题”,业界早有定论,无需多言。C#ffiJava都提出了对传统C++艰深,晦涩的语法语义的现代改良。在语法方面,两者都挨弃了C++中 关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函 数及其参数的const修饰,宏代换,全局变量和全局函数等许多华而不实的地方。在继承方面,两者都采用了更易丁理解和建构的单根继承和多接口实现的 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。在源代码组织方面,都提出了声明与实现丁一体的更好的逻辑封装。在类型系统方面,两个语言都在中间语言IL或字节代码的基础上提出了映射(Reflection)这样的概念,彻底革新了传统C++!行时类型鉴别的问题。但在大刀阔斧地对C+辿行改革的同时,C#®得更为保守,它对很多原来C++中很好的性质予以了保留,如基丁栈分配的轻量级的结构类型,枚举类型,引用(ref),输出(out),数组(params)修饰的参数传递方式等,这些在Java中都被很可惜地丢掉了。在基本类型和单根继承的对象之间的类型统一方面C#提出的box/unbox要比Java的包装类显得高明,效率也要好。对C+祚安全的指针及内存分配方式,C播日Java都提出了托管执行环境。效率问题是托管执行环境一直以来令人诟病的地方,Java虚拟机(JVM的解释执行方式曾经让很多开发者"慢的不可忍受"。C#勺JIT编译方式为C的这块战场上赢得赞声一片,某些C#K管代码甚至比传统C++弋码都快。虽然现在各厂商实现的Java平台也都一致地采取了JIT编译方式,但C#&这方面的比较优势非常明显--C#的目标编译语言IL从设计初始就把效率摆在了重要的地位,而Java的字节代码的设计却有些鲁乔。托管执行环境经过几年的实践,在现代软件界已经达成了共识,效率的牺牲换来的是高度安全的代码--当然前提是牺牲的效率必须足够的小,至少可以忍受。值得指出的是在这里C"样"念念不忘老一辈C+玳序员”,C航许我们在unsafe上下文中进行指针操作。数组的索引越界检查,类型安全在C加Java中都被提到了相当的高度。在异常处理方面,不管从内置支持,还是从执行效率来讲,C#tK较Java略胜一筹。"一次编程,多处执行"是程序设计一直以来的一个诉求,尤其是在现代互联网络时代。在跨平■台方面,Java的支持和实现都是为人称道的,虽然JVM的速度仍然让人备感头疼。而C#®然在底层构造方面对移植性进行了充分的考虑,但至少目前还没有成熟的,经过检验的产品。C的跨平台方面似乎更热衷丁XMLWebServices互操作,而不是跨平■台编程。但C#ffl过其基础语言■构造(CLI)对二十多种主流语言的对象级的互操作支持,乂极大地提升了C#勺技术地位。和COM组件廉价地互操作也为C暗争到不少分数--保持一个兼容的体系对现代软件工业非常重要,也是对广大开发人员负责任的表现。面向组件无疑是当代软件开发的主流。C痢组件编程甚至到了"迷恋"的地步,这与6年前就出道的Java不可同日而语--当然这是时代问题。C#!过届性,索引器,委派,事件,操作符重载,特征,版本等实现了其对组件编程的第一手的支持。虽然这些在Java中都可以通过方法,接口或者适配器来间接地实现,但软件业的历史告诉我们这无论对编程效率或者逻辑设计都是一种极大的损伤--高级语言首先面对的是人,而不是机器。除去这些语言层面的组件支持机制,.NET平台也为组件的配置,运行,管理等提供了一揽子解决方案,而为组件开发量身定做的VisualStudio.NET更是令人兴奋,这都为C#勺组件编程开辟了广阔的天地。在其他技术方面Java的微弱劣势尚且可以忽略不计,但在组件编程方面Java相较丁C#®有着不可治愈的硬伤。尤其对丁从C+新日VisualBasic背景过来的开发人员,C的这方面有着不可抵挡的魅力和诱惑。鉴丁XMLWebServices在下一代企业分布式计算中的地位,我们有必要在这方面对两个语言有一个简单的交代。在XMLWebServices的操作方面,.NET平台直接在IL中间语言中的内置XM或持使得C饥生俱来地成为下一代Web服务的首选,这是通过API集来支持Web服务的Java所不能比的。在C#^,XMLSOAPUDDLWSD等底层协议被构建成了面向开发人员的组件、而Java中这些仍然是JAX(JavaXMLAPI)等底层W的操作函数。当然这种局面可能仅仅是时间问题,一个强大的高效的WebServices组件模型对Java来说并不是不可逾越的鸿沟。在语言 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 化方面,微软也史无前例地做出了令人赞赏的动作。目前C敝.NET平台基础构造已递交欧洲计算机制造商协会ECMA经过标准化后的C#务可由任何厂商在任何平台上实现其开发工具及其支持软件,这为C#勺发展提供了强大的驱动力。而Java在这方面虽有动作--JCP(JavaCommunityProcess),但无疑只能是准标准化。在组件化软件时代拥有一门像C++-样的标准化语言,对软件界尤其是广大开发人员非常重要。当然两个语言的全面的技术品评绝非仅仅上述几点简单的罗列比较,其后端平台(C#for.NET,JavaforJ2EE),及其编程框架的支持,各语言相关工具的实现,现有的系统基础等等都对程序设计语言的发展产生相当的影响。从纯技术角度来讲,C耽疑较Java更具竞争力。争吵谁抄袭谁也没有意义--技术的发展本来就是一个相互借鉴的过程。纯技术较量也并不能决定这场论战的胜负--如果非要一决雌雄的话。软件界倒乐见竞争,经过市场锤炼的技术才能更好地为我们服务,让我们拭目以待!
本文档为【横向技术分析C#、C和Java优劣】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_072127
暂无简介~
格式:doc
大小:11KB
软件:Word
页数:0
分类:
上传时间:2018-09-18
浏览量:1