LectureNotes_for_Lisp
Lecture Notes for Lisp Language (programming paradigm included)
🔥 1.冒号课堂:编程范式与 OOP **
- 09年主流语言:Java、C、C++、VB、PHP、C#、Python、Perl、Delphi、JavaScript、Ruby 和D
- 19年github给出语言:C、C#、C++、CSS、HTML、Java、JavaScript、Julia、Jupyter Notebook、Makefile、Objective-C、Processing、Python、Rich Text Format、Shell、TeX、XSLT
🔥 2.计算机语言5代:
- 第1代语言:机器语言;
- 第2代语言:汇编语言——IA-32 Assembly、SPARC Assembly等;助记码(mnemonic code)代替0、1串,由汇编器(assembler)转化为机器语言
- 第3代语言:高级语言——Fortran、Pascal、C、Java、VB等;编译器(compiler)和解释器(interpreter)。理解抽象的高级语言,优化指令
- 第4代语言:面向问题语言——SQL、SAS、SPSS等;局限特定领域。(Domain Specific Language,简称DSL)
- 第5代语言:人工智能语言——Prolog、Mercury、OPS5等。
🔥 3.编程范式:(programming paradigm),指的是计算机编程的基本风格或典范模式。
- 框架、库和工作包:
- 框架宏观上控制整体的结构和流程;微观实现上利用库和工具包来解决具体的细节问题。
- 库和工具包是为程序员带来自由的,框架是为程序员带来约束的。
- 设计模式(design pattern)和架构(architecture)不是软件产品,而是软件**。
- 设计模式是软件的战术**,架构是软件的战略决策。
🔥 4.常用的编程范式:
- 泛型式、元编程、切面式和事件驱动式
- Generic Programming,简称GP,其基本**是:将算法与其作用的数据结构分离,尽可能泛化,最大限度地实现算法重用。基于模板(template)的参数多态(parametric polymorphism)
- GP最著名的代表是C++中的STL(Standard Template Library)
- STL 有3 要素:算法(algorithm)、容器(container)和迭代器(iterator)。
- 泛型编程是算法导向(Algorithm-Oriented)的。
- 元编程(Metaprogramming)
- 元编程自然是关于程序的程序,或者说是编写、操纵程序的程序。
- 元编程作为超级范式,能提升语言的级别。
- 填补专业程序员与业务分析员之间的鸿沟