4-编程范式
一、知识
-
机器语言——>汇编语言——>高级语言
-
Lisp代码即数据。“闭包”的思想
-
编程范式
-
命令式
-
面向过程
(缺点如下)
- 数据与算法关联弱
- 不利于修改与扩充
- 不利于代码重用
-
面向对象
-
-
声明式
-
函数式
(优点如下)
- 参数重复
- 容器
-
响应式:以Rxjs为例
-
(异步/离散的函数式编程)
-
数据流 Observable
-
操作符
- 过滤
- 合并
- 转化
- 高阶
-
-
-
-
自顶向下(另一方面还有:自底向上)
-
模块
-
变量
- 数据结构
-
函数
- 函数
- 语句
-
-
结构化
- 顺序
- 选择
- 循环
-
领域特定语言
-
Lexer 词法规则
-
Raser-LR 语法规则
- 从左到右检查
- 从右到左构建语法树
-
ls
-
visitor
-
二、感悟
由于有编程基础,对编程范式比较熟悉。(尽管课程中还是讲了很多我不曾了解过的东西)
这里想要增加一些对编程学习的感悟。
(一)过去
我是软件工程专业的学生。刚进大学那会儿,冲着大家满满好评的计算机专业,糊里糊涂选择了这条路。没有基础,没有准备。
【大一】
大一的时候,非常迷茫。我不知道如何学习这个专业,学习方式也依然是不舍得摒弃掉高中的学习模式。搞得既焦虑,成绩也非常差。
【悟】
但是,每当学完(挂完)一个学科,好像对这个学科的理解就更深刻。
比如,刚学指针,完全不懂这是啥,也无法理解为啥别人都能理解。但是学完之后,会觉得“这不就是基础中的基础嘛”
这里呢,也许是,每个人的花期不同。但,只要你在场,困顿到走投无路时,一定会有发现阳光,所谓“柳暗花明又一村”嘛。
一定要等到那个时刻。奇迹会发生的。
(二)后来
【大二】
大二的时候,进入了“西二在线”一个工作室考核。
我现在过了四轮考核。分别是基础知识、爬虫数据库、flask框架、对前端数据处理 大概这样的内容。
每次在考核之中,就会觉得 “这个世界上怎么会有这么难、这么复杂难搞的东西! ”;但每次考核完,都会觉得上一轮的考核 “不过是基础中的基础” “小儿科”嘛。
【悟】
所以计算机,也许入门有亿点点难!但是开窍后,后面的路就顺了。
(三)未来
我学了《计算机网络》这门课,从老师给我们讲的“题外话”里,勾起了对网络的兴趣。
现在有一个小目标,我想要进国家网络安全局!做“网络”这方面的工作。
大一的时候,听到CTF的讲座,非常感兴趣。
无奈年轻时总在犹豫、焦虑。而失去了“卷”的大好时机。
现在成长进程迈入新篇章,准备以新的学习方式,格物致知啦!