C语言
C语言是当前程序员学习编程的入门课程。C语言是面向过程的语言
面向过程及:关注事情的发展流程,对应到C语言中及为关注程序的算法和数据结构。
这里插入面向过程和面向对象的介绍:
面向过程:关注事情发展的顺序,类似于编年体,以时间顺序,历史发生的先后顺序记录。
面向对象:关注对象的属性和行为,类似于纪传体(史记),以人物对象的行为属性记录。
优点:
1、代码量小(没有过多的封装产物)
2、运行速度快(C语言可以通过指针直接操作内存)
3、语法规则简单,容易学习
缺点:
1、危险性高;
(将浮点型数据赋给整型变量,C语言不会报错,但是实际操作会损失数据精度,
这样的问题会被黑客当作漏洞进行攻击。)
2、开发周期长(面向过程)
3、可移植性差(对比Java而言,C语言可移植性差,在不同的机器上,运行结果可能不同)
适用于开发系统级项目,例:Linux系统开发,因为C语言执行更加的高效。
C++
C++是在C语言的基础上发展起来的,他包含了C语言的所有内容。同时,也引入了面向对象的概念。
优点:
1、他包含了C语言的内容,包括指针,使得C++在执行效率上特别的高效。
2、引入面向对象的概念,使得开发效率提高。
3、提供了很多的库,具有较好的封装性和移植性(代码)。
缺点:
1、C++比较难学。(C语言语法规则简单,但是,简单往往容易因为语法规则不明晰,
导致出现一些问题,因此,C++规定了更多的语法规则,
这也使得C++更加的负责难学。)
2、C++仍然在很迅速的发展,当前的学习进度可能赶不上他发展的进度,
之前学的东西,可能在更新之后不再适用。
C++适用于开发大型项目,因为C++运行效率较高,而且C++结合了面向对象的思想,使得开发效率提高。
Java
Java是完全面向对象的程序设计语言。
优点:
1、面向对象的特性使得Java语言的开发效率得到提高。
2、可移植性更好;
因为Java编译为.class文件,通过虚拟机解释成为机器码,
在运行的时候对内存地址分配
而C/C++则是在代码生成编译时已经对内存进行分配,
如果设备发生改变,内存地址也发生改变。
3、封装性更强,有大量的封装类在实际开发中可以直接调用,提高了开发效率。
缺点:
1、java占用内存空间太多,需要java虚拟机,虚拟机本身就很占用内存。
Python
面向对象的脚本语言
优点:
1、封装性更高,很多的基础代码都被封装好,直接调用即可
2、可移植性;由于Python是脚本语言,不限制于硬件设备,所以有很好的移植性。
3、免费、开源
缺点:
1、特殊的语法规则:不能将代码写成一行,而且用缩进区分语句关系,容易让人不适应。
2、相比于C/C++运行速度较慢。