如何学习一门语言
初级:了解;中级:熟练掌握其特性;高级:
初级
学习一门语言,初级是了解它的语言特征(对一门语言做到初级掌握,就可以联系算法了):
- 支持的数据类型,比如
基本数据类型
:整数、浮点数、布尔值、字符串。高级数据类型
:数组、字典、结构体等; - 流程控制语句,比如
条件判断语句
:if else
。循环语句
:while
、for
。以及分支判断switch
、跳转goto
语句、递归等; - 函数如何定义,如何传参,有没有面向对象的语言特征等。
- 包管理是怎样的,如何管理一个工程,官方标准库有哪些,如何处理时间、字符串、http、加密等常见需求;
- 独有的特殊语言特征,像语法糖。
类型推导、lambda函数、
中级
中级,具备项目经验,能应对所有项目需求。并且能熟练掌握编程范式、设计模式,编写优雅的项目代码。
- 常用编程范式。面向对象、函数式编程等
- 设计模式。
- 常用包的进阶使用。orm、正则、配置文件、日志库等
- 并发编程。相关并发原语。
- 项目相关。
- 编译相关。梳理掌握常用的包管理工具,以及相关配置。
高级
- 运行时系统(golang的runtime、java的jvm、python的CPython解释器等),包含内存管理、垃圾回收、并发和调度等。
- 并发编程的源码实现。按需自创并发原语。
- 性能调优。