编程语言的发展
1.面向机器的机器语言(低级语言)
2.面向机器的汇编语言(低级语言)
3.面向过程的高级语言
4.面向对象的高级语言
低级语言 和 高级语言
低级语言:
机器语言:
计算机硬件只能识别“断开”和“闭合”两种物理状态,也就是0和1。使用机器指令效率最高,因为无需对指令进行翻译。但是机器语言对人类不友好,一大串0和1,很难识别和记忆,且容易出错,但是对于机器来说,秒懂
汇编语言:
汇编语言采用人类容易记忆和识别的助记符来代表一些0和1的指令,亦称为符号语言
比如AND代表加法
高级语言:
采用易于识别和记忆的字符来作为关键字,也更接近人类的思维方式,编写容易读写性好,开发效率更高
高级语言是可移植的,做少量修改甚至无需修改,即可将代码运行在不同平台的计算机上。
总结:
越是低级的语言对机器越是友好,越是符合机器的思考方式,因此执行效率高。
越是高级的语言对人类越是友好,越是符合人类的思考方式,因此开发效率高。
以下都针对高级语言讲的:
编译型语言 和 解释型语言
编译型语言:
把一个事先编好的叫做“编译程序”的机器语言程序安装在计算机内,当需要执行高级语言程序时,编译程序就把整个“高级语言的源程序”翻译成“机器语言的目标程序”
解释型语言:
高级语言进入计算机后,解释程序一边扫描一边解释,逐句输入逐句翻译,计算机一行一行执行,并不产生目标程序
Java
动态类型语言 和 静态类型语言
动态类型语言:
在运行期间才去做数据类型检查
灵活,开发速度快,易学,但是不能即时给出报错并进一步优化代码
Python、Ruby、Erlang、JavaScript、swift、PHP、Perl
静态类型语言:
编写代码的时候要明确确定变量的数据类型
C、C++、C#、Java、Object-C、Go
强类型语言 和 弱类型语言
强类型语言:
强制类型定义
类型更加安全
Python,Java
弱类型语言:
能将一种数据类型当另一种,即数据类型随时转化,灵活
一切以能跑起来为准,怎么方便怎么来