谁能简单的描述下C、C++C#以及java的区别。
3个回答
展开全部
简单地说,它们不是一种语言,语法有差别,编程时具体用到的类库或者函数库也不一样。
虽然它们不是一种语言,不过它们却也有所联系。广泛地说,C可以看作其他三种语言的源语言,因为其他三种语言几乎都是从C而来的,无论从数据类型还是控制语句看,其他三种语言都有从C得来的迹象。
其中C++则一般看作是对C语言的扩展。因为C语言没有面向对象的语法结构,而当时业界又迫切需要面向对象的编程特性,所以贝尔实验室的开发者就为C添加了面向对象的结构。现在C++已经不只是C的扩展了,它已经完全可以被看作一种新的编程语言。虽然C的特性以及库函数仍然被C++支持,不过C++拥有自己的独立的类库体系,功能相当强大。
Java语言是一种完全的面向对象语言,虽然它的底层(运行时库)是用C语言开发的,可是并不依赖于C。因为Java的运行是在运行时库的支持下进行的,所以运行效率比起可以更接近底层的C/C++来说效率会有所影响,不过Java的类库采用很好的设计理念设计,非常好用,也非常实用,已经成为业界的一种标准开发语言。它的跨平台的特性尤其让很多开发者欢迎,你只需要开发一次就能在所有安装了Java运行时库的系统上运行。Java发展了十几年了,可以应用领域非常之广泛,Web开发有JSP,J2EE,桌面领域现在有JavaFX。
C#是微软开发的一种编程语言,语法类似Java,几乎就是从Java的翻版。运行原理和Java也类似,也是通过运行时库的支持运行。不过支持的平台还很有限。JAVA几乎被所有平台支持,而C#目前只被Windows和Linux支持,Windows下的支持当然是由微软自己开发的,而Linux下的支持则有MONO支持。实际上,MONO也是把C#应用转化为JAVA应用而已,所以本质上,C#仍然只是被微软自己的操作系统支持。应用平台受到限制,是它最大的缺点。
C/C++的优点在于与底层比较接近,可以控制的粒度更加精细,是开发系统级应用的最佳选择。关于缺点,我想正是源于其优点,因为它们能控制的编程元素粒度精细,所以编程比较困难,烦琐,容易出错。
Java和C#都比较高级,可以看作高级语言的高级语言,优点是开发容易,但运行效率不如更为底层的C/C++。
具体选择使用的时候,可以根据实际的项目需要选择。运行效率要求高的,底层控制要求高的用C/C++,否则可以选择Java或C#;跨平台的要求高的可以用Java。
关于跨平台,C/C++也是很好的语言,因为所有平台都支持,不同的是,不同平台支持的实现不同,类库不同,要编写跨平台的程序,需要选择跨平台的类库,如标准类库,如果标准类库的支持不够也只需要附加编写一个跨平台的支持类库。
几种语言内容都很多,在这里就不详细列举了,要学好每一种都需要花费相当大的精力,祝你能有所成就!
虽然它们不是一种语言,不过它们却也有所联系。广泛地说,C可以看作其他三种语言的源语言,因为其他三种语言几乎都是从C而来的,无论从数据类型还是控制语句看,其他三种语言都有从C得来的迹象。
其中C++则一般看作是对C语言的扩展。因为C语言没有面向对象的语法结构,而当时业界又迫切需要面向对象的编程特性,所以贝尔实验室的开发者就为C添加了面向对象的结构。现在C++已经不只是C的扩展了,它已经完全可以被看作一种新的编程语言。虽然C的特性以及库函数仍然被C++支持,不过C++拥有自己的独立的类库体系,功能相当强大。
Java语言是一种完全的面向对象语言,虽然它的底层(运行时库)是用C语言开发的,可是并不依赖于C。因为Java的运行是在运行时库的支持下进行的,所以运行效率比起可以更接近底层的C/C++来说效率会有所影响,不过Java的类库采用很好的设计理念设计,非常好用,也非常实用,已经成为业界的一种标准开发语言。它的跨平台的特性尤其让很多开发者欢迎,你只需要开发一次就能在所有安装了Java运行时库的系统上运行。Java发展了十几年了,可以应用领域非常之广泛,Web开发有JSP,J2EE,桌面领域现在有JavaFX。
C#是微软开发的一种编程语言,语法类似Java,几乎就是从Java的翻版。运行原理和Java也类似,也是通过运行时库的支持运行。不过支持的平台还很有限。JAVA几乎被所有平台支持,而C#目前只被Windows和Linux支持,Windows下的支持当然是由微软自己开发的,而Linux下的支持则有MONO支持。实际上,MONO也是把C#应用转化为JAVA应用而已,所以本质上,C#仍然只是被微软自己的操作系统支持。应用平台受到限制,是它最大的缺点。
C/C++的优点在于与底层比较接近,可以控制的粒度更加精细,是开发系统级应用的最佳选择。关于缺点,我想正是源于其优点,因为它们能控制的编程元素粒度精细,所以编程比较困难,烦琐,容易出错。
Java和C#都比较高级,可以看作高级语言的高级语言,优点是开发容易,但运行效率不如更为底层的C/C++。
具体选择使用的时候,可以根据实际的项目需要选择。运行效率要求高的,底层控制要求高的用C/C++,否则可以选择Java或C#;跨平台的要求高的可以用Java。
关于跨平台,C/C++也是很好的语言,因为所有平台都支持,不同的是,不同平台支持的实现不同,类库不同,要编写跨平台的程序,需要选择跨平台的类库,如标准类库,如果标准类库的支持不够也只需要附加编写一个跨平台的支持类库。
几种语言内容都很多,在这里就不详细列举了,要学好每一种都需要花费相当大的精力,祝你能有所成就!
展开全部
C++.JAVA。C#.都是编程语言
C#个人感觉不如JAVA,毕竟现在主流是JAVA,未来是.net
C#个人感觉不如JAVA,毕竟现在主流是JAVA,未来是.net
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言是硬件访问能力超强,效率极高,纯面向过程的语言。
后来软件越做越复杂,越做越大型,C的面向过程思想撑不住了,于是添加了一些面向对象的思想,成了C++。
但是面对各种各样的运行环境,C++的可移植性捉襟见肘,于是扔掉面向过程和硬件访问能力,牺牲一些效率,加强可移植性和网络能力,成了Java。
微软为了市场,把C++拿去也不知道做了些什么,就成了C#。
对于Java打个比方:怎么让F1能跑各种路面呢?Java的做法就是把各种坑坑洼洼高低起伏的路用各自对应的方式填成一样的平路。
后来软件越做越复杂,越做越大型,C的面向过程思想撑不住了,于是添加了一些面向对象的思想,成了C++。
但是面对各种各样的运行环境,C++的可移植性捉襟见肘,于是扔掉面向过程和硬件访问能力,牺牲一些效率,加强可移植性和网络能力,成了Java。
微软为了市场,把C++拿去也不知道做了些什么,就成了C#。
对于Java打个比方:怎么让F1能跑各种路面呢?Java的做法就是把各种坑坑洼洼高低起伏的路用各自对应的方式填成一样的平路。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询