谁能跟我说说c++,c#,.net,java有哪些区别?
5个回答
展开全部
楼主你好~
首先要指出一点,对于C++,C#,.net,java4者,其中C++,C#,java为编程语言,而.net是一个平台。
对于C++,C#,java,区别就是本身语法的差异和性质上的差异,语法差异不多说,就像你难以描述汉语英语日语三者的区别一样,但是3者都能表达使用者的意思,同样3种语言作为编程语言都是成熟的,可用的,且被广泛使用的。
3者都为面向对象的语言,年龄上来说C++(1972)>java(1994)>C#(2000),所以从语法上来看,java和C#比较接近(可以说非常相似),而后两者与前者差别不小。从使用的广泛性来说,C++作为资历最老的那一批面向对象开发语言当然使用的非常广泛,几乎所有的平台都有C++的编译环境,java因为其良好的跨平台性质,所以在终端和PC上都有很理想的应用,而C#因为为微软一脉相承,所以在windows平台上占据绝对的优势,近年来因为其简单易学,在Linux平台上也产生了像mono之类的编译环境。
其中C++是编译性语言,而java和C#可以说是解释性的(虽然微软方面称C#不是解释性语言,不过使用了中间代码),所以势必运行时C++理论上将比java和C#快,而C#理论上将比java快(这一点有待实验验证)。
但是对于开发人员来说,java依赖于JDK,C#依赖于.net,两者的框架提供了大量可用优秀高效的方法供开发人员使用,使得开发过程缩短,所以java和C#才得以流行起来。并且相较于C++过于复杂的语法,java和C#的语法更接近于人类自然语言和人类的思维逻辑,使得开发门槛大大降低,所以近年来C++的应用领域被大大压缩。
java和C#都必须依赖自己的框架,这是和C++最本质的区别。
而.net则是微软发明的一项技术平台,之上提供了.net framework类库、运行环境、各种服务和接口规范,使得开发出来的程序能在各种搭载了.net平台的设备,操作系统上运行。在.net之上支持的语言不仅仅是C#,还有VB,C++,JScript和J#,所以.net并不是单单指代C#。
请追问~
首先要指出一点,对于C++,C#,.net,java4者,其中C++,C#,java为编程语言,而.net是一个平台。
对于C++,C#,java,区别就是本身语法的差异和性质上的差异,语法差异不多说,就像你难以描述汉语英语日语三者的区别一样,但是3者都能表达使用者的意思,同样3种语言作为编程语言都是成熟的,可用的,且被广泛使用的。
3者都为面向对象的语言,年龄上来说C++(1972)>java(1994)>C#(2000),所以从语法上来看,java和C#比较接近(可以说非常相似),而后两者与前者差别不小。从使用的广泛性来说,C++作为资历最老的那一批面向对象开发语言当然使用的非常广泛,几乎所有的平台都有C++的编译环境,java因为其良好的跨平台性质,所以在终端和PC上都有很理想的应用,而C#因为为微软一脉相承,所以在windows平台上占据绝对的优势,近年来因为其简单易学,在Linux平台上也产生了像mono之类的编译环境。
其中C++是编译性语言,而java和C#可以说是解释性的(虽然微软方面称C#不是解释性语言,不过使用了中间代码),所以势必运行时C++理论上将比java和C#快,而C#理论上将比java快(这一点有待实验验证)。
但是对于开发人员来说,java依赖于JDK,C#依赖于.net,两者的框架提供了大量可用优秀高效的方法供开发人员使用,使得开发过程缩短,所以java和C#才得以流行起来。并且相较于C++过于复杂的语法,java和C#的语法更接近于人类自然语言和人类的思维逻辑,使得开发门槛大大降低,所以近年来C++的应用领域被大大压缩。
java和C#都必须依赖自己的框架,这是和C++最本质的区别。
而.net则是微软发明的一项技术平台,之上提供了.net framework类库、运行环境、各种服务和接口规范,使得开发出来的程序能在各种搭载了.net平台的设备,操作系统上运行。在.net之上支持的语言不仅仅是C#,还有VB,C++,JScript和J#,所以.net并不是单单指代C#。
请追问~
追问
我以后想从事软件开发之类的工作,学习哪种语言比较有前景?
追答
楼主你好~
首先对于这个问题我想说的是,只要是楼主能说得出名字的语言,都是经过时间和实践考验的,至少在20年内都是主流。所以只要楼主有心,这些语言都是有前景的。并且掌握了一门语言以后,基本上能很快上手其他语言。
楼主如果是学生的话,可以先从C语言看起,C语言基本上可以算是现在主流面向对象开发语言的祖宗了(C++,C#,java等等),而且语言本身非常优美简洁。一般在大学期间涉猎10种左右语言就差不多了,选择其中的2,3种作为专精,其实C++,C#,java等本质都是一样的,无非是语法上的区别,更重要要掌握的其实是算法,数据结构,设计模式之类的编程思想,所以建议完全掌握一门面向对象的语言(比如如果喜欢在Windows下开发的话可以选择C#),掌握一门SQL语言(实际开发中经常碰到和数据库打交道的时候),有兴趣可以看看HTML,PHP之类的网页开发语言(B/S模式是时下流行的,有时候程序猿不得不进行Web前端的开发)。
总之编程语言的学习过程是很快的,楼主只要学会了其本质,想上手另一门语言非常迅速,优秀的程序猿和一般的程序猿的差别在于完成同样的任务,程序的效率差异巨大,这就是算法、数据结构等数学基础所致,而完成同样的任务,工程进度差异巨大,这就是设计模式、开发管理等软件工程思想所致。
总之楼主要明确一点就是,永远没有为了编程而编程,编程永远为了完成某项任务而存在,所以势必每次项目中都会碰到困难,例如网络方面的知识,例如数据库方面的知识,例如特定领域的知识(比如你进行一项关于银行业务的管理系统,这时候你不得不去了解最基础的银行业务知识)。所以我们该学习的不是哪种语言,而是编程思想。
展开全部
c++ 是加了类的C 语法变化多端
c# 是微软为了对抗java在企业级开发的语言 比较好学
.net是一个平台 不是一种语言
java是sun推出的面向对象的语言 比较好学
c# 是微软为了对抗java在企业级开发的语言 比较好学
.net是一个平台 不是一种语言
java是sun推出的面向对象的语言 比较好学
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
.net是平台,c++,C#,java是语言
C#和Java更适用于网络开发,而C++比较适用于桌面开发
C#和Java更适用于网络开发,而C++比较适用于桌面开发
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先C++是最早的语言 是微软在C的扩展 是半面向对象半面向过程语言 java是C++ 的衍生是sun公司发明的 是纯粹的面向对象语言 java是跨平台的也就是在任何操作系统都可以运行,而微软为了抗衡java开始出了个j++ 但夭折了 于是又出来了个C# c#和java的语法惊人的相似也是面向对象的 而.net是微软的一个平台用于构建一个和平太无关的语言但目前还没有实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
- >
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询