编程语言的分类
- 编译型:程序代码执行之前由编译器翻译为二进制指令,如c/c++,go
- 解释型:程序代码执行时翻译为汇编语言,执行一次,翻译一次,如python,js,php,shell
两者根本区别: 是否是强类型,强类型在编译时确定类型,提前分配好内存空间
编程语言模型
- 面向过程 基本类型+指针
- 面向对象 基本类型+对象类型
- 函数式 基本类型+对象类型+函数
java:
- 需要编译成字节码
- 解释执行
- 可移动性,一次编译,到处运行 == JVM
scala:
- 可以编译为字节码,在jvm上执行
- 既可以解释执行,也可以编译执行
- 是一种函数式的面向对象的编程语言
- 可以在JS中执行
C/C++:
- 各个平台各自编译