Python基础:一、编程语言分类

编程语言主要从以下几个角度进行分类:

  1. 编译型和解释型
  2. 静态语言和动态语言
  3. 强类型语言和弱类型语言

编译型语言和解释型语言

编译和解释的区别是什么?

  1. 编译器是把源程序的每一条语句都编译成机器语言,并保存为二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快
  2. 解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的

    计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)

    人能读懂的代码>>>编译(翻译)>>>机器能读懂的代码>>>CPU中运行

    人能读懂的代码>>>编译型>>>执行前一次编译>>>机器能读懂的代码>>>CPU中运行

        人能读懂的代码>>>解释型>>>字节码>>>虚拟机>>>边执行边翻译>>>机器能读懂的代码>>>CPU中运行

编译型和解释型的优缺点:

1. 编译型

优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高,可以脱离语言环境独立运行(不能跨平台)

缺点:编译之后如果需要修改就需要整个模块重新进行编译,编译的时候根据对应的运行环境生产机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件(开发效率低)

2. 解释型

优点:有良好的平台兼容性(可以跨平台),在任何环境中都可以运行,前提是安装来解释器(虚拟机);灵活,修改代码的时候直接修改就好了(开发效率高),可以快速部署,不用停机维护

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

 编译型、解释型、混合型语言举例:

  1. 编译型:c、c++、Go、Swift、Object-C、Pascal
  2. 解释型:JavaScript、Python、Ruby、PHP、Perl、Erlang
  3. 混合型:Java、C#

猜你喜欢

转载自www.cnblogs.com/joetan/p/10765053.html