6.编程语言的分类

1.编程语言

2.高/低级语言

3.编译型/解释型

4.强/弱型

5.动/静态型

6.常用语言解释

7.解释器安装/多版本共存

1.编程语言

1.1编程语言分类
1.机器语言:01组成二进制指令,直接操作硬件。
2.汇编语言:用一组英文标签代表一组二进制指令,直接操作硬件。
3.高级语言:用人类的自然语言去编写的程序,再转为机器语言控制硬件。
1.2比较
比较执行效率:开发效率:跨平台:
机器语言机器语言能被计算机无障碍理解并直接运行,执行效率最高复杂,二进制指令难以记忆,开发效率低。依赖具体的硬件,跨平台性极差。
汇编语言编译后直接操作硬件,执行效率高,但比机器语言稍差。相对机器语言,使用英文标签编写程序相对简单,同样开发效率低。同样依赖具体硬件,跨平台性差。
高级语言高级语言更贴近人类语言,所以执行需要通过‘翻译’才能理解,会增多很多额外代码,这样会降低软件执行效率。开发者无需考虑硬件,语言更贴近人类,开发效率得到极大提升。不依赖硬件,依赖编译器,跨平台性极强

2.高/低级语言

低级语言:更接近机器指令   (机器语言,汇编语言)
越是低级的语言对机器越友好,越是符合机器的思维方式,因此执行效率高。

高级语言:更接近人类的思维方式
越是低级的语言对人类越友好,越是符合人类的思维方式,因此执行效率高。

3.编译型/解释型

高级语言想要在计算机上执行,必须先翻译成计算机能识别的语言才能执行。
按翻译的过程可以分为两种:

1. 编译型:运行时直接编译成机器可以执行的程序,除非修改程序源代码,否则无需再编译。
执行效率高,比解释型语言运行要快。
跨平台性低于解释型。 

2. 解释型:运行时需要专门的解释器,将源代码临时转换成特定平台的机器码,
解释器也占计算机的资源,运行速度较慢。运行依靠解释程序,每执行一次就要翻译一次,
只要平台提供相应的解释器,就可以运行源代码,方便源程序移植。

(Python语言会避免重复解释,以此来节省时间。
程序运行时,解释的结果则是保存在位于内存中的PyCodeObject中,
程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。
没有修改程序的情况下第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,
否则就重复上面的过程。)

* 识别编译型需要安装编译器,识别解释型需要安装解释器。*
编译型:
C语言: 一个平台上编译的程序不能跨平台运行, 想要在不同的平台上运行需要自行编译.

java: 号称一处编码, 处处运行, 1990年横空出世. java有一个编译的过程, 将java源代码编程成字节码
      文件.class, 该文件需要运行在操作系统的jvm下.(jvm --> JAVA虚拟机, 至少占300M内内存)

Go:   可以跨平台编译, 例: windows平台下所有Go代码编译成一个其他平台的可执行文件.
解析型: Python, JavaScript, PHP

4.强/弱类型

强类型:强类型语言使用强制数据类型定义,没有强制类型转化前,不允许两种不同类型的变量相互
操作。
num = 1
print(type(num))  # <class 'int'>

print(num + '1')

"""
TypeError: unsupported operand type(s) for +: 'int' and 'str'
类型错误:+ 不支持的操作数类型:“int”和“str”
"""
弱类型:一个变量可以赋不同数据类型的值,允许将一块内存看作多种类型,比如直接将整型变量与
字符变量相加
var num = 10
console.log(typeof num)  // number

console.log(num + 'a', typeof (num + 'a'));  // 10a string

5.动/静态类型

静态类型: 在编译期进行检查数据,变量在使用前要声明变量的数据类型.
		这样的好处是把类型检查放在编译期,提前检查可能出现的类型错误.
// C语言 在定义变量的时候定义变量的数据类型.
int homo = 114514;
动态类型: 在运行期进行数据类型检查的语言,也就是在编写代码的时候可以不指定变量的数据类型.
# 动态类型语言,即变量本身在编译期不携带类型信息的语言
a = 1

6.常用语言解释

python是一门解释型弱类型动态语言。
python语言:指的是python的语法风格
python解释器:专门用来识别python这门语言的语法并解释执行的

7.解释器安装/多版本共存

https://blog.csdn.net/larei/article/details/126594556?spm=1001.2014.3001.5502
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值