CS107编程范式-学习笔记-1
一直听说CS107编程范式是非常好的课程,GAN发明者都力推的一门课,所以准备抽空把它学完。
第一讲
C语言代表了过程范式/命令式范式,面向动态过程的,经典的代表是函数调用(function call),对于内存操作更好。
C++调用dothis函数时,将某个对象作为参数进行传入,myobject->dothis,首先看到的是对象。
高级语言代码在执行过程中,都会被编译为汇编代码,然后再转化为机器语言,也就是01序列。
C和C++代表了两种不同范式,也就是常说的面向过程和面向对象。
**&**p->*** = 7。我晕了。
基本来说,并发编程并不是流水线一般一下运行完毕,而是像右边这样子,在两个函数或者进程间进行来回切换,逐步运行的,但是频率非常高,几乎感受不到。
然而并发编程也带来一个问题,进程安全,试想一个账户有100元,你和你朋友从两台ATM中同时对它进行提取100元,那你们能得到200元吗?肯定是不能的,账户应该被具有原子特性的事物保护着,确保一次操作只能有一台ATM进行,并且存取要么不执行,要么都执行,而其他用户操作都是不被允许的。
看到这里想到了操作系统中的PV算法,也是为了保证进程安全,对临界区进行访问控制。
通过引用的方式将原始数据结构传入函数,函数执行完成后,原始数据结构也会发生变化,这是利用函数的副作用编程
使用scheme进行函数式编程范式进行编程,不会有任何副作用。
CS107编程范式-学习笔记-1相关推荐
- 《Linux高性能服务器编程》学习笔记
<Linux高性能服务器编程>学习笔记 Linux高性能服务器编程 TCP/IP协议族 TCP/IP协议族体系结构以及主要协议 数据链路层 网络层 传输层 应用层 封装 分用 测试网络 A ...
- Java编程思想学习笔记-第11章
<?xml version="1.0" encoding="utf-8"?> Java编程思想学习笔记-第11章 Java编程思想学习笔记-第11章 ...
- 【C#编程基础学习笔记】6---变量的命名
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...
- 【C#编程基础学习笔记】4---Convert类型转换
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...
- 《基于GPU加速的计算机视觉编程》学习笔记
<基于GPU加速的计算机视觉编程>学习笔记(1) 最近打算 准备工作 CUDA开发环境(主要是查看N卡的信息) 在WIN10下安装CUDA工具包 最近打算 在训练模型的时候,感觉电脑非常吃 ...
- Linux C编程一站式学习笔记2
Linux C编程一站式学习笔记 chap2 常量.变量和表达式 本书以C99为标准 一.继续hello world 加入更多注释的hello world 可以用ctrl+(shift)+v复制到vi ...
- 熊猫的python小课_朋友圈里那个可爱的小熊猫Python编程的学习笔记,学编程,不难!...
Print( ) 详细请见公众号文章,里面有让人印象深刻,无法忘记的灵魂画手的图画解释.朋友圈里那个可爱的小熊猫Python编程的学习笔记,学编程,不难!mp.weixin.qq.com 人类有人类 ...
- GO 编程模式学习笔记——GO GENERATION
GO编程模式学习笔记系列为学习陈皓的GO编程模式系列文章记录与心得. 原文链接:GO 编程模式:GO GENERATION Go语言代码生成主要还是用来解决编程泛型的问题.Go语言的类型检查有两种技术 ...
- 编程开发学习笔记之程序员如何用1年时间获得3年成长(图)
2019独角兽企业重金招聘Python工程师标准>>> 编程开发学习笔记之程序员如何用1年时间获得3年成长(图) 前言 这世界存在这么一个银行,你一出生,就自动享有这家银行为你开设的 ...
最新文章
- python 将一个整数变成2个字节的字符
- WINCE cvrtbin命令简介
- Spring boot配置文件随机数
- php代码实现对word文件的查找与替换,ThinkPHP5使用phpword实现文件模板字符替换
- REST架构风格的理解(分布式应用系统的架构演变)
- java发送qq邮件
- 关于vscode CloudMusic 插件无法登陆
- 基于STM32F4系列 之 霍尔编码器减速直流电机
- 转载 基于MATLAB 进行图像分类
- 省市县及对应编码-json格式
- xiaok海洋测绘网全新改版(使用emlog)
- 伸展树算法c语言,数据结构之伸展树详解
- WordPress采集wordpress挂机采集插件
- 一叶知秋,很多IT“专家”其实都只是“砖家”
- Android 折叠屏适配最全的攻略在这里
- 输出用1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数(C语言)
- 最难找工作的10种大学生
- ubuntu查看网速的工具
- 超简单!H5项目套APP外壳
- 用python画一朵玫瑰花,送给你的女神
热门文章
- HashMap中计算散列位置时,用与运算代替取模运算的原理
- php cms 源码,PHPCMS v9.6.1 UTF8
- Linux系统安装与删除软件的方法
- 镍氢电池怎么修复充电
- 解决华为系列手机真机调试Logcat不显示问题
- 数据的概率分布以及用python绘制分布图
- 梦泪的服务器是qq还是微信,从微信区杀到QQ区,梦泪、孤影双排诠释什么叫上分如喝水...
- Windows 右下角 输入法 图标 不见了 显示输入法 图标 绝对成功
- matlab中conj语句是什么意思,conj(conj的用法)
- Warning: Cannot update during an existing state transition (such as within `render`). Render methods