Java和C#相比,微信有没有javaC#比Java更接近硬件/底层编程?

java相比C#还有优势吗?
[问题点数:40分,结帖人wyouflf]
java相比C#还有优势吗?
[问题点数:40分,结帖人wyouflf]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。JAVA和C#那个领域或前途更广泛些?
JAVA和C#那个领域或前途更广泛些?
JAVA在平台独立性方面比C#要强.
C#的语法比JAVA强大
C#可以与以其他.NET语言编写的代码进行无缝交互操作
C#仅仅用于编写新的.net应用程序。
java可以跨平台但是没有了选择语言的权利,
c#可以跨语言,但是没有了选择平台的权利。
如果需要从Java移植代码,C#可以选择。同时还有J#及其他一些MS提供的转换工具。
Java在整个亚洲地区比较流行.在欧美比较流行C#,总之呢.只要你学好一种语言,不管它有没有发展,对你都不会造成很大的影响,语言都是相通的,是不?
其他回答 (2)
自C#诞生之日起,关于C#与Java之间的论战便此起彼伏,至今不辍。抛却Microsoft与Sun之间的恩怨与口角,客观地从技术上讲,C#与Java都是对传统面向对象程序设计在组件化软件时代的革新之果,可谓殊途同归。虽说两个语言有着&90%的重叠&,但那另外&10%的较量&也往往能够左右一个天平的方向。本文将携90%之共,论10%之异,对两个语言做纯技术品评。文章不涉及两个语言的公司,市场等台面后的事情--虽然这往往也会影响人们对编程语言的选择。也不预备得出谁是谁的Killer,读者应该选择谁的问题。&语言选择乃艺术而非技术问题&,业界早有定论,无需多言。
  C#和Java都提出了对传统C++艰深,晦涩的语法语义的现代改良。在语法方面,两者都摈弃了C++中函数及其参数的const修饰,宏代换,全局变量和全局函数等许多华而不实的地方。在继承方面,两者都采用了更易于理解和建构的单根继承和多接口实现的方案。在源代码组织方面,都提出了声明与实现于一体的更好的逻辑封装。在类型系统方面,两个语言都在中间语言IL或字节代码的基础上提出了映射(Reflection)这样的概念,彻底革新了传统C++运行时类型鉴别的问题。但在大刀阔斧地对C++进行改革的同时,C#显得更为保守,它对很多原来C++中很好的性质予以了保留,如基于栈分配的轻量级的结构类型,枚举类型,引用(ref),输出(out),数组(params)修饰的参数传递方式等,这些在Java中都被很可惜地丢掉了。在基本类型和单根继承的对象之间的类型统一方面C#提出的box/unbox要比Java的包装类显得高明,效率也要好。
  对C++不安全的指针及内存分配方式,C#和Java都提出了托管执行环境。效率问题是托管执行环境一直以来令人诟病的地方,Java虚拟机(JVM)的解释执行方式曾经让很多开发者&慢的不可忍受&。C#的JIT编译方式为C#在这块战场上赢得赞声一片,某些C#托管代码甚至比传统C++代码都快。虽然现在各厂商实现的Java平台也都一致地采取了JIT编译方式,但C#在这方面的比较优势非常明显--C#的目标编译语言IL从设计初始就把效率摆在了重要的地位,而Java的字节代码的设计却有些鲁莽。托管执行环境经过几年的实践,在现代软件界已经达成了共识,效率的牺牲换来的是高度安全的代码--当然前提是牺牲的效率必须足够的小,至少可以忍受。值得指出的是在这里C#同样&念念不忘老一辈C++程序员&,C#允许我们在unsafe上下文中进行指针操作。数组的索引越界检查,类型安全在C#和Java中都被提到了相当的高度。在异常处理方面,不管从内置支持,还是从执行效率来讲,C#都较Java略胜一筹。
  &一次编程,多处执行&是程序设计一直以来的一个诉求,尤其是在现代互联网络时代。在跨平台方面,Java的支持和实现都是为人称道的,虽然JVM的速度仍然让人备感头疼。而C#虽然在底层构造方面对移植性进行了充分的考虑,但至少目前还没有成熟的,经过检验的产品。C#在跨平台方面似乎更热衷于XML
Services互操作,而不是跨平台编程。但C#通过其基础语言构造(CLI)对二十多种主流语言的对象级的互操作支持,又极大地提升了C#的技术地位。和COM组件廉价地互操作也为C#挣到不少分数--保持一个兼容的体系对现代软件工业非常重要,也是对广大开发人员负责任的表现。
  面向组件无疑是当代软件开发的主流。C#对组件编程甚至到了&迷恋&的地步,这与6年前就出道的Java不可同日而语--当然这是时代问题。C#通过属性,索引器,委派,事件,操作符重载,特征,版本等实现了其对组件编程的第一手的支持。虽然这些在Java中都可以通过方法,接口或者适配器来间接地实现,但软件业的历史告诉我们这无论对编程效率或者逻辑设计都是一种极大的损伤--高级语言首先面对的是人,而不是机器。除去这些语言层面的组件支持机制,.NET平台也为组件的配置,运行,管理等提供了一揽子解决方案,而为组件开发量身定做的Visual
Studio.NET更是令人兴奋,这都为C#的组件编程开辟了广阔的天地。在其他技术方面Java的微弱劣势尚且可以忽略不计,但在组件编程方面Java相较于C#却有着不可治愈的硬伤。尤其对于从C++和Visual
Basic背景过来的开发人员,C#在这方面有着不可抵挡的魅力和诱惑。
  鉴于XML
Services在下一代企业分布式计算中的地位,我们有必要在这方面对两个语言有一个简单的交代。在XML
Services的操作方面,.NET平台直接在IL中间语言中的内置XML支持使得C#与生俱来地成为下一代Web服务的首选,这是通过API集来支持Web服务的Java所不能比的。在C#中,XML,SOAP,UDDI,WSDL等底层协议被构建成了面向开发人员的组件,而Java中这些仍然是JAX(Java
API)等底层协议的操作函数。当然这种局面可能仅仅是时间问题,一个强大的高效的Web
Services组件模型对Java来说并不是不可逾越的鸿沟。
  在语言标准化方面,微软也史无前例地做出了令人赞赏的动作。目前C#及.NET平台基础构造已递交欧洲计算机制造商协会ECMA,经过标准化后的C#将可由任何厂商在任何平台上实现其开发工具及其支持软件,这为C#的发展提供了强大的驱动力。而Java在这方面虽有动作--JCP(Java
Process),但无疑只能是准标准化。在组件化软件时代拥有一门像C++一样的标准化语言,对软件界尤其是广大开发人员非常重要。
当然两个语言的全面的技术品评绝非仅仅上述几点简单的罗列比较,其后端平台(C#
J2EE),及其编程框架的支持,各语言相关工具的实现,现有的系统基础等等都对程序设计语言的发展产生相当的影响。从纯技术角度来讲,C#无疑较Java更具竞争力。争吵谁抄袭谁也没有意义--技术的发展本来就是一个相互借鉴的过程。纯技术较量也并不能决定这场论战的胜负--如果非要一决雌雄的话。软件界倒乐见竞争,经过市场锤炼的技术才能更好地为我们服务,让我们拭目以待!
这世界上没有什么比编程工具更加牵动程序员的心。VC、VB、DELPHI、JAVA……这些耀眼的名字不仅占据了程序员的生活,而且似乎已经成为了某种信仰。可是,伴随着新世纪的脚步,这些信仰又一次遭遇了重大的挑战。微软,这头被法官和黑客们折腾得既疲惫又恼怒的狮子,发誓要保住它头上的王冠,拼尽全力,拿出了看家的本事——.NET战略。作为 .NET的核心开发语言,C# 顺理成章地浮出了水面。程序员们也就不得不做出一个痛苦的选择,跟在谁的后面?要找出答案就不得不作一番比较和预测。笔者作为一个资深的程序员,斗胆在此狂言,权作抛砖引玉。
如果抛开一切非技术方面的因素,C# 无疑是这个星球上有史以来最好的编程语言,它几乎集中了所有关于软件开发和软件工程研究的最新成果。面向对象、类型安全、组件技术、自动内存管理、跨平台异常处理、版本控制、代码安全管理……你不可能在另外的一种语言中找到所有这些特性。尽管像很多人注意到的一样,当我罗列上述特性时,总是让人想到JAVA,然而C# 确实走得更远。但现实的情况是,非技术的因素往往更能决定一个产品的未来,尤其在计算机软件的历史上,技术卓越的产品,如OS/2、Mac OS、UNIX等,都败在了Windows那漂亮的脸蛋儿下。而这一次,微软的角色好像从一个赤手空拳的革命者变成了仗势欺人的老地主,如果真是要变天,那C# 这孩子岂不是投错了胎?可能情形并非如此糟糕,毕竟瘦死的骆驼比马大,而且C# 已经提交给了一个标准化组织,一旦成了国际标准,说不准真有哪个手痒的大侠(也有可能是微软自己)给移植到Linux 和别的平台上。那样的话,JAVA可就惨了。因为JAVA的用户主要是网络服务的开发者和嵌入式设备软件的开发者,嵌入式设备软件不是C# 的用武之地,而在网络服务方面,C# 的即时编译和本地代码Cache方案比JAVA虚拟机具有绝对的性能优势。何况C# 一旦成为一个像C++ 一样的公共的标准,软件开发商既可以省去JAVA的许可证费用,也不必担心成为微软的奴隶,那些反微软的人士和主张厂商独立的人士可能也不会有什么意见。这可能正是微软所期待的。
如果把C# 和 JAVA 在网络服务领域的争夺比作未来制空权的争夺的话,那么C# 和传统通用快速开发工具——VB、DELPHI等的较量将是地地道道的白刃战。可能最惨的程序员就是VB程序员,在微软,VB就像离任的克林顿,不但失去了所有的光辉,而且乱事缠身。想想吧,VB6写的项目必须用转换工具转换成基于.NET的代码才能在VB7中调入,几乎面目全非。由于VB7遵循为迎合.NET而建立的通用语言规范(CLS),几乎把所有原来只在C++、JAVA等语言中可以运用的特性统统加了进来,只是语法和原来兼容。如果你是第一次在VB7中看到自己的旧VB6项目转换之后的代码,一定要当心你的心脏!所以,努力吧,别告诉我你将就此退休。DELPHI的状况也好不到哪里去,原来的看家本领是做起应用来又快又好,可现在看看最新的VS.NET Beta 1, 你会感到如此熟悉,众多的属性列表、组件……谁让你穷呢,连总设计师都养不住。
其实在编程语言中真正的霸主多年来一直是C++,所有的操作系统和绝大多数的商品软件都是用C++作为主要开发语言的。JAVA的程序员绝大多数也是C++的爱好者,PHP的成功里面也有类似C++的语法的功劳。在操作系统、设备驱动程序、视频游戏等领域,C++在很长的时间内仍将占据主要地位,而在数量最大的应用软件的开发上,C# 很可能取代C++的位置。首先,C# 和JAVA一样,简直就是照搬了C++的部分语法,因此,对于数量众多的C++程序员学习起来很容易上手,另外,对于新手来说,比C++要简单一些。其次,Windows是目前占垄断地位的平台,而开发Windows应用,当然微软的声音是不能忽略的。最重要的是,相对于C++,用C# 开发应用软件可以大大缩短开发周期,同时可以利用原来除用户界面代码之外的C++代码。
但是,C# 也有弱点。首先,在大量的现有Windows平台上,C# 的程序还不能运行,因为C# 程序需要 .NET运行库作为基础,而 .NET运行库将作为新一代的Windows(Whistler)的一部分发行, 或以Service Pack的形式提交给Windows Me 和 Windows 2000用户。所以在近期,C# 会主要在服务器上得到应用。其次,C# 能够使用的组件或库还只有 .NET 运行库等很少的选择,没有丰富的第三方软件库可用,这需要有一个过程,同时各软件开发商的支持也很重要。第三,JAVA的成功因素里有一些是反微软阵营的吹捧,虽然“只写一次,到处运行”只是一句口号,但毕竟已经是一种成熟的技术。而C# 的鼓吹者目前只有名声不佳的微软,且只能运行在Windows上。实际上这两种语言都不是不可替代的,理智的说,对软件开发商而言,什么用的最熟什么就是最好的工具。尤其对C++的使用者,C# 没有带来任何新东西,因为.NET运行库在C++中也可以使用,没有要换的绝对的理由。
综上所述,我个人认为,近几年,C# 将不可避免地崛起,在Windows平台上成为主角,而JAVA将在UNIX、Linux等平台上成为霸主,C++ 将继续在系统软件领域大展拳脚。非常有意思的是,这些语言的语法极其接近,因为JAVA和C# 都是由C++发展而来的。其他的开发工具当然还会在相当长的时间里继续他们的旅程,不过在市场份额上,将不可避免地受到冲击。
等待您来回答
编程领域专家DELPHI编程与java编程相比之下的优点与缺点?及各自擅长的领域?,与c#相比呢?,,,,,
DELPHI编程与java编程相比之下的优点与缺点?及各自擅长的领域?,与c#相比呢?,,,,, 50
Delphi有比较好的开发环境,集成的也比较好,第三方控件较多,个人认为在数据库方面比较优秀,与C#相比,将来很可能没有C#好,因为FrameWoke是微软的产品,同样基于上面,当然是微软自己的软件比较好了。Java学起来较难,但可以跨平台,安全性较高,个人认为在互联网上比较优秀,与C#相比,将来.NET与Java是两个竞争对手,.NET也可以跨平台,并且目前.NET的FrameWoke比JAVA的JVM要优化很多,目前应该说C#.NET更好一点,只不过以前国际上使用JAVA的人比较多,所以JAVA目前的呼声很大!
提问者 的感言:(*^__^*) 嘻嘻…… 满意答案
delphi编程是可视化编程语言中比较接近于底层的编程,这样优点就很明显了,速度快,执行效率高,比如优化大师,就是用delphi编写的,java的通用性好,在所有系统上都可以运行,但是效率差一些,尤其是执行大量运算的时候,c#跟delphi差不多,个人感觉比delphi要好用,语法上要易懂一些
提问者 的感言:(*^__^*) 嘻嘻……
其他回答 (1)
ERP是DELPHI的长项
企业级J2EE是JAVA的长项
C#是微软为了与JAVA抗衡才推出的一种编程语言
想知道哪种语言市场需求量高,去招聘网上搜一下,你就知道该学什么了。
等待您来回答
编程领域专家java和C#哪个比较好_百度知道
java和C#哪个比较好
提问者采纳
现在最有前途的一般认为是java和c#如下面所述: C#诞生之日起,关于C#与Java之间的论战便此起彼伏,至今不辍。抛却Microsoft与Sun之间的恩怨与口角,客观地从技术上讲,C#与Java都是对传统面向对象程序设计在组件化软件时代的革新之果,可谓殊途同归。虽说两个语言有着&90%的重叠&,但那另外&10%的较量&也往往能够左右一个天平的方向。本文将携90%之共,论10%之异,对两个语言做纯技术品评。文章不涉及两个语言的公司,市场等台面后的事情--虽然这往往也会影响人们对编程语言的选择。也不预备得出谁是谁的Killer,读者应该选择谁的问题。&语言选择乃艺术而非技术问题&,业界早有定论,无需多言。 C#和Java都提出了对传统C++艰深,晦涩的语法语义的现代改良。在语法方面,两者都摈弃了C++中函数及其参数的const修饰,宏代换,全局变量和全局函数等许多华而不实的地方。在继承方面,两者都采用了更易于理解和建构的单根继承和多接口实现的方案。在源代码组织方面,都提出了声明与实现于一体的更好的逻辑封装。在类型系统方面,两个语言都在中间语言IL或字节代码的基础上提出了映射(Reflection)这样的概念,彻底革新了传统C++运行时类型鉴别的问题。但在大刀阔斧地对C++进行改革的同时,C#显得更为保守,它对很多原来C++中很好的性质予以了保留,如基于栈分配的轻量级的结构类型,枚举类型,引用(ref),输出(out),数组(params)修饰的参数传递方式等,这些在Java中都被很可惜地丢掉了。在基本类型和单根继承的对象之间的类型统一方面C#提出的box/unbox要比Java的包装类显得高明,效率也要好。 对C++不安全的指针及内存分配方式,C#和Java都提出了托管执行环境。效率问题是托管执行环境一直以来令人诟病的地方,Java虚拟机(JVM)的解释执行方式曾经让很多开发者&慢的不可忍受&。C#的JIT编译方式为C#在这块战场上赢得赞声一片,某些C#托管代码甚至比传统C++代码都快。虽然现在各厂商实现的Java平台也都一致地采取了JIT编译方式,但C#在这方面的比较优势非常明显--C#的目标编译语言IL从设计初始就把效率摆在了重要的地位,而Java的字节代码的设计却有些鲁莽。托管执行环境经过几年的实践,在现代软件界已经达成了共识,效率的牺牲换来的是高度安全的代码--当然前提是牺牲的效率必须足够的小,至少可以忍受。值得指出的是在这里C#同样&念念不忘老一辈C++程序员&,C#允许我们在unsafe上下文中进行指针操作。数组的索引越界检查,类型安全在C#和Java中都被提到了相当的高度。在异常处理方面,不管从内置支持,还是从执行效率来讲,C#都较Java略胜一筹。 &一次编程,多处执行&是程序设计一直以来的一个诉求,尤其是在现代互联网络时代。在跨平台方面,Java的支持和实现都是为人称道的,虽然JVM的速度仍然让人备感头疼。而C#虽然在底层构造方面对移植性进行了充分的考虑,但至少目前还没有成熟的,经过检验的产品。C#在跨平台方面似乎更热衷于XML Web Services互操作,而不是跨平台编程。但C#通过其基础语言构造(CLI)对二十多种主流语言的对象级的互操作支持,又极大地提升了C#的技术地位。和COM组件廉价地互操作也为C#挣到不少分数--保持一个兼容的体系对现代软件工业非常重要,也是对广大开发人员负责任的表现。 面向组件无疑是当代软件开发的主流。C#对组件编程甚至到了&迷恋&的地步,这与6年前就出道的Java不可同日而语--当然这是时代问题。C#通过属性,索引器,委派,事件,操作符重载,特征,版本等实现了其对组件编程的第一手的支持。虽然这些在Java中都可以通过方法,接口或者适配器来间接地实现,但软件业的历史告诉我们这无论对编程效率或者逻辑设计都是一种极大的损伤--高级语言首先面对的是人,而不是机器。除去这些语言层面的组件支持机制,.NET平台也为组件的配置,运行,管理等提供了一揽子解决方案,而为组件开发量身定做的Visual Studio.NET更是令人兴奋,这都为C#的组件编程开辟了广阔的天地。在其他技术方面Java的微弱劣势尚且可以忽略不计,但在组件编程方面Java相较于C#却有着不可治愈的硬伤。尤其对于从C++和Visual Basic背景过来的开发人员,C#在这方面有着不可抵挡的魅力和诱惑。 鉴于XML Web Services在下一代企业分布式计算中的地位,我们有必要在这方面对两个语言有一个简单的交代。在XML Web Services的操作方面,.NET平台直接在IL中间语言中的内置XML支持使得C#与生俱来地成为下一代Web服务的首选,这是通过API集来支持Web服务的Java所不能比的。在C#中,XML,SOAP,UDDI,WSDL等底层协议被构建成了面向开发人员的组件,而Java中这些仍然是JAX(Java XML API)等底层协议的操作函数。当然这种局面可能仅仅是时间问题,一个强大的高效的Web Services组件模型对Java来说并不是不可逾越的鸿沟。 在语言标准化方面,微软也史无前例地做出了令人赞赏的动作。目前C#及.NET平台基础构造已递交欧洲计算机制造商协会ECMA,经过标准化后的C#将可由任何厂商在任何平台上实现其开发工具及其支持软件,这为C#的发展提供了强大的驱动力。而Java在这方面虽有动作--JCP(Java Community Process),但无疑只能是准标准化。在组件化软件时代拥有一门像C++一样的标准化语言,对软件界尤其是丹穿陛堆桩瞪标缺钵画广大开发人员非常重要。 当然两个语言的全面的技术品评绝非仅仅上述几点简单的罗列比较,其后端平台(C# for .NET, Java for J2EE),及其编程框架的支持,各语言相关工具的实现,现有的系统基础等等都对程序设计语言的发展产生相当的影响。从纯技术角度来讲,C#无疑较Java更具竞争力。争吵谁抄袭谁也没有意义--技术的发展本来就是一个相互借鉴的过程。纯技术较量也并不能决定这场论战的胜负--如果非要一决雌雄的话。软件界倒乐见竞争,经过市场锤炼的技术才能更好地为我们服务,让我们拭目以待!
提问者评价
其他类似问题
java的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁学习VS2010里的C#语言与C++和JAVA哪个更有前景?
学习VS2010里的C#语言与C++和JAVA哪个更有前景?
各自特点是什么?这三个我都学了,都不深,该深入学习哪个好呢?
发展前景都是有的,好不好要看你学得如何。
首先,C#和Java再在语法上比较相似,而在C++上则能找到C的影子,对于一些人来说,他们反对学习新语法,所以你可以选一个你比较能接受的风格,或者你用得最多的。
其次,从语言对用户的透明程度来说,Java最高,其次是C#,最后是C++,透明程度越高用户所做的工作越少,编程难度也会减少,缺点是知其然不知其所以然。对底层原理一无所知,且缺少创造思维的锻炼(语言的限制所致)。如果你用Java和C#编程,将是对大量API的组合使用。如果曾经学习过C语言的用户可能会感到很无辜,因为他们写十行代码可能Java或C#程序员只需要一行代码就能完成相同的功能,但唯一的收获是明白了原理,所以他们更接近底层,付出的代价是脑细胞死亡的速度加快(难度足够大时),而C++将在C的基础上将这种代价拉得更大。
最后,你是什么类型的人呢?只喜欢追求实现某个功能,还是喜欢“思考“问题型。前者的话java和C#都是不错的选择,若喜欢冒险和挑战自我,那就选C++吧,不管选哪个都一定会有收获的。
的感言:谢谢。
其他回答 (6)
说实话,这三个的发展前景都不错,如果你想深入学习的话,JAVA更有前景些,具体要在实战中才能体现。三言两语理论说不怎么清。&
JAVA吧,Hadoop等后端技术比较多
C++太難, 而且被library限制住, 很難跨平台.C#是Micro$oft自創的語言, 沒有世界標準委員會, 很容易變動, 而且有許多技術沒公開. (它的前身是Micro$oft的VJ, 已經自己垮掉了.)還是學java吧. 力求精通.
这三个都还不错前景也相当好,但是目前安卓智能手机是主流,java更加具有有前景 android智能手机就是java进行开发的,C#也很不错但是windowphone还没有发展起来!
学C#就意味着你必须依赖微软的VS。学C++、JAVA还是比较不错的。现在JAVA应用蛮多的。不过我还是推荐你学C++。多平台支持!
语言只是一种工具.重要的是编程思想.不过现在java比较流行 .如果你C语言学得好的话可以学C++ 往硬件方面发展前途也是不错的
等待您来回答
编程领域专家}

我要回帖

更多关于 微信有没有java 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信