【Python】Python,脚本语言?从计算机语言的发展历程简单了解

学习、工作中,我们经常会听到这样一句话“Python只是脚本语言…云云”,

当我第一次听到时,脑子里浮现了一串问号,

脚本语言?什么是脚本语言? Python不是解释型语言吗? 哎,不还有编译型语言吗? 哇,乱糟糟

在这里简单梳理一下,不会深入到“术”、“道”的层面,只是理清基本概念,明白 what


无论是脚本语言、解释型语言、编译型语言等都属于计算机编程语言,下面就来看看计算机编程语言的

发展历程和分类,计算机编程语言从最初的**机器语言–>汇编语言/低级语言–>高级语言:

  • 机器语言(Machine Language)

**计算机的硬件作为一种电路元件,它的输出和输入只能是有电或者没电,也就是所说的高电平和低电

平,所以计算机传递的数据是由“0” 和“1”组成的二进制数,所以说二进制的语言是计算机语言的本质。**

计算机发明之初,人们为了去控制计算机完成自己的任务或者项目,只能去编写“0”、“ 1”这样的二进制

数字串去控制电脑,其实就是控制计算机硬件的高低电平或通路开路,这种语言就是机器语言,即二进

制指令代码,也就是第一代编程语言.

  • 汇编语言(Assembly Language)

既然机器语言不好用,怎么办,于是人们对机器语言进行了升级和改进,用一些容易理解和记忆的字

母、单词来代替一个特定的指令,形成了我们常说的汇编语言,即用助记码表示特定计算机的机器语言

指令,也就是第二代编程语言.

执行时,借助汇编器(Assembler),把汇编语言程序翻译成机器语言.

  • 高级语言(由于早期计算机行业的发展主要在美国,因此一般的高级语言都是以英语为蓝本,英语!英语!英语!很重要,看报错、看官方文档、看原版书籍…)

    • 编译型语言

    • 解释型语言

不难想象,使用机器语言、汇编语言(本质上,仍然是单纯面向特定机器语言),其中一个关键问题便是

———— 程序的可移植性

就好比,Windows系统和Mac系统各有一套二进制指令集,Windows上写好的二进制码显然没办法拿到

Mac上用,反之亦然.

经过…,最终诞生了一系列高级编程语言,如C、C++、Java、Python…,这一系列高级编程语言可以

简单分为一开始提到的编译型语言和解释性语言,其中Java是比较特殊的一种编程语言,下面会详细说

明.


先以一张图来简单了解一下编译型语言和解释型语言.

image-20230423004410125
  • 编译型语言

通过编译器(Compiler)将源代码编译成机器语言的文件(如*.exe文件)再执行.

一般需经过编译(Compile)、链接(Linker)这两个步骤. 编译是把源代码编译成机器码,链接是把各个模块

的机器码和依赖库串连起来生成可执行文件.

优点:编译器一般会有预编译的过程对代码进行优化;运行时不需要编译,执行效率高;可以脱离语

言环境独立运行等

缺点:编译之后如果需要修改就需要整个模块重新编译;可移植性差等

代表语言:C、C++等

  • 解释型语言

解释型语言无需翻译,通过解释器(Interpreter),解释性语言在运行程序的时候逐行读取、逐行解释

(Interpret)、逐行运行.

优点:良好的平台兼容性;修改代码的时候直接修改就可以,可以快速部署,不用停机维护等

缺点:每次运行的时候都要解释一遍,性能上不如编译型语言等

代表语言:Python等

  • Java

为什么Java单独拿出来说呢,来看Java程序从源文件创建到程序运行经历的两大步骤

  1. 编译. Java源文件通过编译器编译成二进制的字节码,即.class文件.

  2. 解释运行. .class文件通过Java虚拟机解释运行.

所以Java程序的运行过程既有编译也有解释.


  • 脚本语言(Script Languages)

关于脚本语言,网上众说纷纭. 个人觉得,站在自身当前的高度、当前的角度,来决定思考的深度.

尽善尽美,而非十全十美.

脚本语言有严格/官方定义吗,至少我没看到,或者说我没看到能够明确脚本语言边界、包含/所属关系并

被绝大多数人认同的定义.

进一步,明确这些有意义吗,好像没有,没意义的事情为什么要做.

截取“百度百科”的一段说明:

image-20230423014337646

是不是可以通俗的来说,

脚本语言指那些比较简单,语法没有那么严格,通常以文本(如ASCII)保存,直接解释执行的编程语言.


回到最初的的问题,Python是脚本语言吗?

毋庸置疑,Python是解释型语言. 从运行方式看,脚本语言可以同于解释型语言,那说Python是脚本语

言也是没问题的,我想大部分人会说Python是脚本语言,主要也是基于Python的通俗易懂和解释运行.


参考:

  • https://zhuanlan.zhihu.com/p/37721614
  • https://zhuanlan.zhihu.com/p/111763425
  • https://zhuanlan.zhihu.com/p/461684569
  • https://zhuanlan.zhihu.com/p/571097954
  • https://blog.csdn.net/czh500/article/details/120380407
  • https://blog.csdn.net/Scrat_Kong/article/details/82918786
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值