计算机不能直接的运行高级语言 (Java 或 JavaScript), 所以说必须要把高级语言翻译成机器语言.
根据翻译的时机, 我们将编程语言分为编译型和解释型.
编译型语言
程序在运行前需要一个专门的编译过程, 将程序编译为机器需要的文件, 比如说 exe 文件, 以后运行的话就不必再次翻译了
例子: C/C++
解释型语言
程序在运行时才会被翻译, 每次执行都会翻译一次, 所以说效率比较低, 比如说 Python/JavaScript
脚本语言
脚本语言一般情况下需要相应的脚本引擎才能运行, 脚本语言的程序是文本文件, 并且解释执行.
Java 语言
两种语言的结合, Class 文件是 Java 在运行前的翻译的, 即编译型语言的特点; Class 文件在运行时在 JVM 被再次翻译, 即解释型语言
动态语言
在运行期间, 才会做数据类型的检查, 就是程序会自己识别数据的种类, 程序员不必给任何变量指定数据类型, 比如说 Python 和 JavaScript
- stringVariable = "Vigor"
- integerVariable = 1
- floatVariable = 1.1f
如上, 在不同的数据的 declare 时, 没有指明数据的种类.
静态语言
在编译时, 需要告诉程序数据的类型, 程序自己不知道数据的类型, 比如说 Java
- String stringVariable = "Vigor";
- Integer integerVariable = 1;
- Boolean boolVariable = true;
强类型语言
强制数据类型定义的语言, 即, 一旦一个变量被指定某个数据类型, 如果不进行强制转换, 就是这个数据类型了
强类型可能在速度上逊色于弱类型语言, 但是强类型的严谨性会有效的避免很多错误
弱类型语言
数据类型可以被忽略的语言, 即一个数据可以赋予不同的数据类型
- Reference
- https://my.oschina.net/xuhaowei/blog/736073
想要看到更多玮哥的学习笔记, 考试复习资料, 面试准备资料? 想要看到 IBM 工作时期的技术积累和国外初创公司的经验总结?
敬请关注:
玮哥的博客 -- CSDN 的传送门 https://blog.csdn.net/u013152895
玮哥的博客 -- 简书的传送门 https://www.jianshu.com/u/594a3de3852d
玮哥的博客 -- 博客园的传送门 https://www.cnblogs.com/vigorz/
来源: http://www.bubuko.com/infodetail-2982279.html