【JavaScript执行原理浅析】程序设计语言及其翻译

程序设计语言

机器语言(Machine Language)与汇编语言(Assemble Language)

  • 0、 1代码与助记符:更接近于计算机硬件指令系统的工作

高级语言(High Level Language)

  • 其表示方法更接近于待解问题的表示方法
  • 定义数据、描述运算、控制流程、传输数据
    如: C、 FORTRAN、 PASCAL、 C++、 JAVA、 SQL(数据定义、数据操作)

命令语言(Command Language)

  • 控制系统的工作——以功能封装为特征如UNIX上的shell

强制式(命令式)语言(Imperative Language)

  • 通过指明一系列可执行的运算及运算的次序来描述计算过程的语言;
  • FORTRAN(段结构)、 BASIC、 Pascal(嵌套结构)、C……
  • 程序的层次性和抽象性不高

申述式语言( Declarative Language)

  • 着重描述要处理什么,而非如何处理的非命令式语言
  • 函数(应用)式语言(Functional Language)
    • 基本运算单位是函数,如LISP、 ML……
  • 逻辑式(基于规则)语言(Logical Language)
    • 基本运算单位是谓词,如Prolog, Yacc……

面向对象语言(Object-Oriented Language)

  • 以对象为核心,如Smalltalk、 C++ 、 Java、Ada(程序包)……
  • 具有识认性(对象)、类别性(类)、多态性和继承性

程序设计语言的翻译

翻译程序(Translator)

将某一种语言描述的程序(源程序——SourceProgram)翻译成等价的另一种语言描述的程序(目标程序——Object Program)的程序。
【JavaScript执行原理浅析】程序设计语言及其翻译

解释程序(Interpreter)

  • 一边解释一边执行的翻译程序
  • 口译与笔译(单句提交与整篇提交)
    【JavaScript执行原理浅析】程序设计语言及其翻译

编译程序(Compiler)

  • 将源程序完整地转换成机器语言程序或汇编语言程序,然后再处理、执行的翻译程序
  • 高级语言程序→汇编/机器语言程序

【JavaScript执行原理浅析】程序设计语言及其翻译
【JavaScript执行原理浅析】程序设计语言及其翻译

其它翻译程序:

  • 汇编程序(Assembler)
  • 交叉汇编程序(Cross Assembler)
  • 反汇编程序( Disassembler)
  • 交叉编译程序( Cross Compiler)
  • 反编译程序( Decompiler)
  • 可变目标编译程序( Retargetable Compiler)
  • 并行编译程序( Parallelizing Compiler)
  • 诊断编译程序( Diagnostic Compiler)
  • 优化编译程序( Optimizing Compiler)

程序设计语言的翻译—汇总

【JavaScript执行原理浅析】程序设计语言及其翻译