知识大全 Java与C#相似之处的对比

Posted

篇首语:蹉跎莫遣韶光老,人生唯有读书好。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java与C#相似之处的对比相关的知识,希望对你有一定的参考价值。

Java与C#相似之处的对比  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在比较Java和C#的时候 你不可能不注意到它们诸多的相似之处 这在某种程度上要归结于它们共同的来源 C和C++ 但是 当Gosling和他的同事们坐下来创造Java的时候 他们不仅吸取了C++的能力 而且更重要的是 他们减掉了一些无用特性 后者让C++更容易出错误而且更难学习 C#的设计者加入了很多C++的特性 而Java也加入了这些特性 但是C#却没有去掉C++的最糟糕的一些特性 其结果就是这样一门语言 它仍然为所有人提供了所有的特性 但其结局是内部冲突不断 而且过于复杂

  散漫的句法缺陷

  最容易找出的错误是流控制和句法 C#提供了goto mand 将其作为更改程序执行点的机制 自从Edsger W Dijkstra在 年出版了他的《关于Go to陈述式害处的考虑(Go To Statement Considered Harmful)》 Goto语句导致代码难以调试 而且很难被测试工具处理    在另一种不同的情况下 操作符过载同样也有很大问题 只不过层次不一样罢了 当 + 根据操作数的类型而代表任何东西的时候 代码的功能就不再透明 难以预料的副作用就会发生

  C#在安全上的削弱

  C#有一个用于将代码区域标示为不安全的简单机制 在这些不安全的区域里 Java以及后来的C#安排到位了一些安全措施 用以防止程序员直接修改内存位置 以及使用点运算 但是这些措施是值得怀疑的 在使用具有垃圾清理功能的高级语言时 如果下到内存地址这一层 就会把对象/内存之间有意作出分离弄混 错误就会容易出现 调试成了恶梦 缓冲区溢出再次抬头 C和C++里著名的安全漏洞再次现身    C#还允许对主机系统上本机库的简单访问 这个与非 NET对象相结合的访问同Java本机接口(JNI)所提供的功能类似 但是它更加危险 JNI被设计用来小心地限制Java代码以及本机代码同已定义好的接口之间的交互操作 NET使得调用本机对象文件变得极其简单 结果导致开发人员在做这的时候 无法意识到他们在这一过程中把平台的可移植性也扔出了窗外  

  SOAP的集成

      C# 及其更大的扩展 NET 已经同SOAP Web服务紧密地集成在一起 SOAP是使用XML指定参数和结果值来进行远程过程调用的好标准 但是它并不是唯一的方式 利用用于Web服务的外部库能够允许Java开发人员轻易地更改其Web服务的风格 使其成为SOAP XML RPC 或者什么还没有发明的东西 当然 C#的开发人员总是能够选择将外部库用于SOAP的Web服务 但是由SOAP标准的紧密集成所造成的限制要比它能够做的东西更多

  所有者的恐慌

  C#里最令人恐慌的特性可能就是其所有者了 微软已经为将C#和 NET用于非Windows平台进行了精心的展示 但是这在很大程度上还只是作秀 其用于非Windows平台的CLR是问题多多 错误多多 它通过ECMA标准化过程来运行C#??这一步连Sun也不敢在Java上迈出

  其担心来自于微软对此可能封锁的程度 如果它愿意的话 微软已经申请了一个专利 以排斥他人编写第三方的CRL 例如Mono计划 如果微软决定对免费的C#和 NET社区施压 它就有能力拿票子和法律的大棒把其开发活动赶回到Win 平台??当然这也不是它想看到的情况

  而Java语言则相反 不是ECMA标准的 真可惜Sun没有遵从这一标准 但是 它是可以实现的 而且没有专利的阻碍 其虚拟机和核心类库都有来自第三方的开放和封闭源代码的实现 C#看起来是免费的 其实不然 而Java看起来限制很多 但是它能够依据法律通过免费的途径来实现

  最后 我从来都没有想到我会说这个 但是Java具有更好工具的支持 即使是在考虑到集成开发环境(IDE)的情况下 Visual Studio NET是一个很不错的IDE 它代表了多年的努力 而且特性很丰富 但是 Eclipse IDE包括了对Java的支持 它在稳定性 易用性和所提供的特性上超过了Visual Studio IBM对Eclipse的贡献举足轻重 而且如果你信奉原来的软件格言 创建一个扔掉的(Build one to throw away) 那么你可以把Visual Age作为第一个(被抛弃掉了的)尝试 对于使用C#的开发人员来说幸运的是 Eclipse的 NET版本正在开发中

  不是那么差 但是还不是Java

cha138/Article/program/net/201311/11937

相关参考

单级.串级三冲量给水调节系统在结构上有什么相似与不同之处?

  (1)相同之处:都有蒸汽流量、给水流量、汽包水位三个信号,并由给水流量信号反馈构成内回路,水位信号构成外回路,以及有蒸汽流量信号的前馈通道。  (2)不同之处:串级系统增加了一个调节器,主调节器控

牛皮癣需与哪些疾病鉴别

牛皮癣需与哪些疾病鉴别?牛皮癣患者的症状与很多疾病是不无相似之处的,特别是头部牛皮癣患者的基本损害表现为病发于头部的扁豆大的炎性扁平丘疹,上覆多层银白色鳞屑,治疗牛皮癣前,务必要对患者进行有针对的鉴别

知识大全 浅析Java与C#的事件处理机制(一)

浅析Java与C#的事件处理机制(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java与

知识大全 浅析Java与C#的事件处理机制(二)

浅析Java与C#的事件处理机制(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  \\在程序

知识大全 C++、Java与C#的命名规范总结

C++、Java与C#的命名规范总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要由于在开

知识大全 C#语言与Java语言程序的比较

C#语言与Java语言程序的比较  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  迈入二十一世纪以

知识大全 急!急! 急求一篇有关描述朋友的可贵之处的英语作文

急!急!急!急求一篇有关描述朋友的可贵之处的英语作文!Everyoneneedsfriendship.Noonecansailtheoceanoflifesinglehanded.Weneedhelp

知识大全 90%的重叠10%的较量 ——C#与Java述评

90%的重叠10%的较量——C#与Java述评  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  自

知识大全 IronPython和C#执行速度对比

IronPython和C#执行速度对比  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我构思的实

知识大全 VB.NET和C#逐层横向对比[1]

VB.NET和C#逐层横向对比[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  //全局层