代码人生

经过我多年的开发经验,对于所有程序语言的学习,我觉得无非都要经过如下三个阶段

Code (源码)

需要对该编程语言的语法、规则、原理了然于心。

熟练编写优雅的功能,深入理解该编程语言在业务使用上的优势和劣势

可以根据实际情况,选择合适的框架和程序来实现功能

能深入该编程语言的底层设计思想,理解该语言创造者的目的,能对该语言或相关框架提出相应的改进建议

Compile(编译)

理解编译原理,思考为什么源码需要通过编译

有哪些语言不需要编译即可运行,其存在的优势,以及和编译型语言的对比

深入认识该语言编译前后的代码对比,了解到为什么需要编译器,思考自己如何实现一个编译器

Runtime (运行)

清楚的知道,代码在运行时,上下文状态和数据

有哪些公共能力,代码在真正运行时,会遇到哪些问题,怎么去解决和捕获这些问题

以及思考为什么会出现这些问题,看看能否在Code层或者Compile层规避掉

思考:程序运行时,有哪些黑盒,需要去挖掘出这些黑盒的本质,才能提升性能和体验