C语言是计算机界的常青藤。执行效率高,用于写底层的驱动。指针是C语言的精华。
C++是很强大的,只要你是个高手,你几乎可以利用C++完成任何事情。虚函数是C++的精华。
Java取消了指针,这是应该喜还是忧。喜的是,没有C或者C++那种对内存繁琐的操作,而且也降低了很多致命性的错误发生的概率。忧的是,效率大打折扣,采用虚拟机的方式使得Java有跨平台的特性,必然会使得效率降低。
C语言
C语言的优点:
1.简洁紧凑、灵活方便
2.运算符丰富
3.数据结构丰富
4. C是结构式语言
5. C语法限制不太严格,程序设计自由度大
6. C语言允许直接访问物理地址,可以直接对硬件进行操作
7. C语言程序生成代码质量高,程序执行效率高
8. C语言适用范围大,可移植性好
9. C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型
10.有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护
C语言的缺点:
1. C语言的缺点主要是表现在数据的封装性上,这一点使得C在数据的安全性上做的有很大缺陷,这也是C和C++的一大区别。
2. C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。
3.可重用性差
4.数据安全性差
5.难以开发大型软件和图形界面的应用软件
6.把数据和处理数据的过程分离为相互独立的实体
7.当数据结构改变时,所有相关的处理过程 都要进行相应的修改
8.每一种相对于老问题的新方法都要带来额 外的开销
9.图形用户界面的应用程序,很难用过程来 描述和实现,开发和维护也都很困难
C++
C++优点:
1.可扩展性强
2.高效 简洁 快速
3.可移植性
4.面向对象的特性
5.强大而灵活的表达能力和不输于C的效率
6.支持硬件开发
7.程序模块间的关系更为简单,程序模块的 独立性、数据的安全性就有了良好的保障
8.通过继承与多态性,可以大大提高程序的 可重用性,使得软件的开发和维护都更为方便
C++缺点:
1.比较底层,易用性不是很好
2.多重继承和友元机制
3.标准库涵盖范围不足
4.开发周期长
5.非并行
6.掌握有难度
7.粒度封装不够
Java
Java的优点:
1.简单性
2.面向对象性(面向对象的程度可以达到 95%)
3.健壮性
4.跨平台性
5.高性能(自动垃圾回收机制)
6.多线程
7.动态性
8.安全性
Java的缺点:
1.效率低(毋庸置疑)
2.跨平台是它最大的优点也是最大的缺点
3.复杂性(做一个项目需要很多的知识,涉及面广)