[第4课-编程范式|青训营笔记]

96 阅读3分钟

4-编程范式

一、知识

  1. 机器语言——>汇编语言——>高级语言

  2. Lisp代码即数据。“闭包”的思想

  3. 编程范式

    1. 命令式

      1. 面向过程

        (缺点如下)

        1. 数据与算法关联弱
        2. 不利于修改与扩充
        3. 不利于代码重用
      2. 面向对象

    2. 声明式

      1. 函数式

        (优点如下)

        1. 参数重复
        2. 容器
      2. 响应式:以Rxjs为例

        1. (异步/离散的函数式编程)

        2. 数据流 Observable

        3. 操作符

          1. 过滤
          2. 合并
          3. 转化
          4. 高阶
  4. 自顶向下(另一方面还有:自底向上)

    1. 模块

    2. 变量

      1. 数据结构
    3. 函数

      1. 函数
      2. 语句
  5. 结构化

    1. 顺序
    2. 选择
    3. 循环
  6. 领域特定语言

    1. Lexer 词法规则

    2. Raser-LR 语法规则

      1. 从左到右检查
      2. 从右到左构建语法树
    3. ls

    4. visitor

二、感悟

由于有编程基础,对编程范式比较熟悉。(尽管课程中还是讲了很多我不曾了解过的东西)

这里想要增加一些对编程学习的感悟。

(一)过去

我是软件工程专业的学生。刚进大学那会儿,冲着大家满满好评的计算机专业,糊里糊涂选择了这条路。没有基础,没有准备。

【大一】

大一的时候,非常迷茫。我不知道如何学习这个专业,学习方式也依然是不舍得摒弃掉高中的学习模式。搞得既焦虑,成绩也非常差。

【悟】

但是,每当学完(挂完)一个学科,好像对这个学科的理解就更深刻。

比如,刚学指针,完全不懂这是啥,也无法理解为啥别人都能理解。但是学完之后,会觉得“这不就是基础中的基础嘛”

这里呢,也许是,每个人的花期不同。但,只要你在场,困顿到走投无路时,一定会有发现阳光,所谓“柳暗花明又一村”嘛。

一定要等到那个时刻。奇迹会发生的。

(二)后来

【大二】

大二的时候,进入了“西二在线”一个工作室考核。

我现在过了四轮考核。分别是基础知识、爬虫数据库、flask框架、对前端数据处理 大概这样的内容。

每次在考核之中,就会觉得 “这个世界上怎么会有这么难、这么复杂难搞的东西! ”;但每次考核完,都会觉得上一轮的考核 “不过是基础中的基础” “小儿科”嘛。

【悟】

所以计算机,也许入门有亿点点难!但是开窍后,后面的路就顺了。

(三)未来

我学了《计算机网络》这门课,从老师给我们讲的“题外话”里,勾起了对网络的兴趣。

现在有一个小目标,我想要进国家网络安全局!做“网络”这方面的工作。

大一的时候,听到CTF的讲座,非常感兴趣。

无奈年轻时总在犹豫、焦虑。而失去了“卷”的大好时机。

现在成长进程迈入新篇章,准备以新的学习方式,格物致知啦!