编程范式游记(1)- 起源
编程范式游记(2)- 泛型编程
编程范式游记(3)- 类型系统和泛型的本质

编程范式游记(4)- 函数式编程
编程范式游记(5)- 修饰器模式

编程范式游记(6)- 面向对象编程
编程范式游记(7)- 基于原型的编程范式
编程范式游记(8)- Go 语言的委托模式

编程范式游记(9)- 编程的本质
编程范式游记(10)- 逻辑编程范式
编程范式游记(11)- 程序世界里的编程范式

Wikipedia: Programming paradigm ,维基百科上有一个编程范式的页面,顺着这个页
面看下去,你可以看到很多很多有用的和编程相关的知识。这些东西对你的编程技能的提
高会非常非常有帮助。

Six programming paradigms that will change how you think about coding,中文翻译版为六个编程范型将改变你对编程的看法。这篇文章讲了默认支持并发(Concurrent by default)、依赖类型(Dependent types)、连接性语言(Concatenative languages)、声明式编程(Declarative programming)、符号式编程(Symbolic
programming)、基于知识的编程(Knowledge-based programming)等六种不太常见的编程范式,并结合了一些你没怎么听说过的语言来分别进行讲述。

比如在讲 Concatenative languages 时,以 Forth、cat 和 joy 三种语言为例讲述这一编程范式背后的思想——语言中的所有内容都是一个函数,用于将数据推送到堆栈或从堆栈弹出数据;程序几乎完全通过功能组合来构建(concatenation is composition)。作者认为,这些编程范式背后的思想十分有魅力,能够改变对编程的思考。我看完此文,对此也深信不疑。虽然这些语言和编程范式不常用到,但确实能在思想层面给予人很大的启发。
这也是我推荐此文的目的。

Programming Paradigms for Dummies: What Every Programmer Should Know ,这篇文章的作者彼得·范·罗伊(Peter Van Roy)是比利时鲁汶大学的计算机科学教师。他在这篇文章里分析了编程语言在历史上的演进,有哪些典型的、值得研究的案例,里面体现了哪些值得学习的范式。

比如,在分布式编程领域,他提到了 Erlang、E、Distributed Oz 和 Didactic Oz 这四种编程语言。虽然它们都是分布式编程语言,但各有特色,各自解决了不同的问题。通过这篇文章能学到不少在设计编程语言时要考虑的问题,让你重新审视自己所使用的编程语言应该怎样用才能用好,有什么局限性,这些局限性能否被克服等。

斯坦福大学公开课:编程范式,这是一门比较基础且很详细的课程,适合学习编程语言的初学者。它通过讲述 C、C++、并发编程、Scheme、Python 这 5 门语言,介绍了它们各自不同的编程范式。以 C 语言为例,它解释了 C 语言的基本要素,如指针、内存分配、堆、C 风格的字符串等,并解释了为什么 C 语言会在泛型编程、多态等方面有局限性。通过学习这门课程,你会对一些常用的编程范式有所了解。

一些软件设计的相关原则