突然看到大学写的一篇知乎回答,感慨自己当年也是相当理解底层。大学软硬兼修,毕业工作后几乎只写代码了,底层硬件指令的东西也忘得差不多了。

多年后看回这篇文章,有种豁然开朗的感觉,理解的层次也不一样了。很多东西不需要去死记硬背。
所有编程语言无非就是为了编译成机器码,从图中这四点去发散理解任何一门编程语言都是成立的。
最主要的是,学习了多门语言,不同的特性容易记混,但是记住这四点共性,不同语言也就基于共性去做区别罢了。
比如变量:
C++的变量类型有值、指针、引用,变量和对象几乎是一个意思;
而Java的变量类型除了基本类型的变量是值,其余都是引用类型,Java的对象是实例;
Python的变量类型则和Java是类似的,不过是弱类型。
以变量去回忆这门语言的基础......
顺序执行这个就不用说了,所有语言都支持的。
控制语句,if else等几乎所有语言都支持。
循环,像for、white几乎所有语言都支持。
回忆一门编程语言,从这四点去发散,自底向上,理解透彻。
不同年龄写的内容,不同的时候去看也有不同的感想。