编程范式 | 青训营笔记

51 阅读2分钟

背景

为什么我们要学编程范式?前端的主要编程语言为JavaScript。而JavaScript做为一种融合了多种编程范式的语言,灵活性非常高。前端开发人员需要根据场景在不同编程范式间自如切换。进一步需要创造领域特定语言抽象业务问题。本文介绍是如何实现这些功能。

js出现的历史

一开始出现的是机器语言,虽然能直接被机器所识别,但对人而言,可读性很差,程序员既要驾驭程序设计的全局又要深入每一个局部直到实现的细节。后来出现第二代计算机语言——汇编语言,它用一些容易理解和记忆的缩写单词来代替一些特定的指令,例如用"add"代表加法操作。汇编语言仍是面向机器的语言,很难从其代码上理解程序设计意图,设计出来的程序不易被移植,故不像其他大多数的高级计算机语言一样被广泛应用。高级语言去除了程序的可可移植性问题。而js出现在c/c++、java之后等各大高级语言之后,是一门基于原型和头等函数的多范式语言(有个关于为什么叫javascript的小故事,感兴趣可以去搜一下)。

image.png

编程范式

常见编程范式

image.png

命令式编程

命令式编程的主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么。细分可以分为面向过程和面向对象的编程。面向过程把操作通过过程进行分组;面向对象把操作通过对象进行分组。

声明式编程

声明式编程是以数据结构的形式来表达程序执行的逻辑。它的主要思想是告诉计算机应该做什么,但不指定具体要怎么做。

函数式编程

JS把函数作为头等公民,去除了c++使用类中某个方法时带来的大量隐藏环境。使得代码更加简洁,开发效率更高。你可以了解pure function、curring、composition、functor、monad、applicative等为开发带来的便捷。

响应式编程