如何学习一门编程语言

类型系统

常用的数据类型,包括:数值、字符串、数组、函数。以及自定义类型,比如说java中的class,C++中的泛型,C中的struct等等。很多语言也把函数当作基本类型,典型的如动态类型语言语言,静态类型如golang。

语法

主要分表达式、语句。

表达式主要表达计算,计算出一个值,用于下面逻辑。这个计算可能是数学运算,也可能是数据引用。

语句主要表达逻辑,比如控制语句中的if/else,for循环等等。

算法与数据结构

语言会提供常用个数据结构和算法,通常是一sdk的形式提供。一般越底层的语言提供的越少(对比C和JAVA)。

最常用的算法就是排序了。其他还有:查找、随机数、压缩。

数据结构一般有数组、向量、列表、队列、堆、栈、哈希表等等。

编程范式支持

常规的编程范式包括:命令式、函数式、面向对象。

抽象方式

常规的抽象方式:函数、泛型、接口、类、结构体。

领域支持

最常见的领域要数包管理、错误处理、并发和网络了。一般会对他们做一个特别的支持,比如golang对并发。

源代码

如果要深入语言的话,源代码的阅读是必不可少的。主要包括sdk和优秀框架。

sdk方面。一般需要熟悉最常用的,比如列表、哈希、并发相关数据结构和算法。

优秀框架。一门语言总会有很多优秀的框架,比较有代表性的方面包含:网络框架、并发框架、日志框架、测试框架、错误处理框架以及web框架。

语言特性

这是比较重要的一点,是该语言区别其他的语言的地方,也是学习这门语言的原因。比如golang的并发(goroutine&channel)、C对硬件的封装、python的简洁与表达能力等等。

← initramfs中的init进程系统启动失败 sync.Map实现分析 →
存档 关于