1.应用场景
| 了解编程语言的分类及显著的区别, 帮助理解编程语言的本质,和帮助快速学习一门新的语言. |
2.学习/操作
|
1. 动静态类型 要理解一门语言是静态类型还是动态类型,最本质的判断方法是看在什么时间段对类型就行检测,静态类型的语言会在编译阶段就行检测,动态类型的语言会在运行时做类型检测!
比如C/C++是静态语言,会在编译阶段对类型就行检测,如果检测到不合法的语言,编译阶段就会报错! 而JavaScript就是动态语言,编译阶段不会做太多类型检测,而是等到运行时再检测变量的具体类型,这是动态语言性能低于静态语言的一个关键的地方。V8对这种动态性做了大量的优化!
2.强弱类型 要理解一门语言是弱类型还是强类型,看变量在运行时,是否能够改变类型, 比如C/c++/javaScript,都可以在运行时将一种类型的变量,改成另外一种类型的,所以他们是弱类型, 而JAVA就不能运行过程中修改变量类型,所以是静态语言!
对于各种语言的类型,你可以参考下图:
备注:
后续补充 ... |
3.问题/补充
|
TBD |
4.参考
| https://time.geekbang.org/column/article/129596 //12 | 栈空间和堆空间:数据是如何存储的? |
后续补充
...