编程语言与编程范式 | 青训营笔记

71 阅读3分钟

前言

本文为笔者在初学前端知识时的学习记录,如有错误请各位指出。

正文

编程语言

DEC8GU~OQX1L%(BG%G{%)W.png

机器语言

使用二进制编写,代码的编写和阅读十分困难,对程序员要求高。

汇编语言

汇编语言是一种更高级别的机器语言,使用助记符来代替二进制代码,使程序员能够更容易地编写和阅读代码。

中级语言

中级编程语言或中级编程语言介于低级和高级编程语言之间。它是一种用户友好的语言,支持高级编程,但同时仍接近机器级语言。通常比高级语言更快,比机器语言和汇编语言更易读和编写。C语言是常见的中级语言。

C语言:“中级语言”过程式语言代表
  • 可对位,字节,地址可直接操作。
  • 代码和数据分离,倡导结构化编程。
  • 功能齐全:数据类型和控制逻辑多样化。
  • 可移植能力强。

}`YKPO_B1IQ2URJ9_(Q$XYM.png

高级语言

高级语言是一种与机器无关的语言。这些更接近人类语言并使用单词,使开发人员更容易编写程序。尽管高级语言更易于阅读、编写和维护,但它需要编译器将代码转换为机器语言。常见的高级语言有Java,Python,Javascript。

C++:面向对象语言代表
  • C with Classes
  • 继承
  • 权限控制
  • 虚函数
  • 多态
Lisp:函数式语言代表
  • 与机器无关
  • 列表:代码即数据
  • 闭包
Javascript:多范式语言代表

基于原型和头等函数的多范式语言

  • 过程式

JavaScript最初被设计为一种过程式的脚本语言,它可以在Web浏览器中嵌入HTML页面,实现动态交互效果。

  • 面向对象

JavaScript支持面向对象编程,支持类、对象、继承、封装等面向对象的特性。JavaScript中的对象是动态的,可以随时添加或删除属性和方法。

  • 函数式

JavaScript支持函数式编程,它的函数可以赋值给变量,可以作为参数传递给其他函数,可以作为返回值返回给其他函数。

  • 响应式

JavaScript可以通过DOM操作实现响应式编程,可以实现页面元素的动态更新,与用户的交互效果等。

编程范式

程序语言特性

XOWK1SP%MCHZZ@Y5RSK9XE.png 编程范式:

NEUBGDJ@WGSO9~G@6HS38.png

面向过程

  • 自顶向下的编程(分模块)
  • 结构化编程 : 顺序结构、选择结构、循环结构

存在的问题:数据与算法关联弱、不利于修改和扩充、不利于代码重用

面向对象

四大特性: 封装、继承、多态、依赖注入

五大原则: 单一职责原则(SRP) 开放封闭原则(OCP)、 里氏替换原则(LSP)、 依赖倒置原则(DIP)、 接口分离原则(ISP)

函数式

特点:

  • 函数是"一等公民"
  • 纯函数/无副作用
  • 高阶函数跟闭包

优势: 可缓存、可移植、可推理、可测试、可并行

响应式

异步/离散的函数式编程

  • 数据流
  • 操作符

设计模式

  • 观察者模式
  • 迭代器模式