一直听说CS107编程范式是非常好的课程,GAN发明者都力推的一门课,所以准备抽空把它学完。

第一讲

C语言代表了过程范式/命令式范式,面向动态过程的,经典的代表是函数调用(function  call),对于内存操作更好。

C++调用dothis函数时,将某个对象作为参数进行传入,myobject->dothis,首先看到的是对象。

高级语言代码在执行过程中,都会被编译为汇编代码,然后再转化为机器语言,也就是01序列。

C和C++代表了两种不同范式,也就是常说的面向过程和面向对象。

**&**p->*** = 7。我晕了。

基本来说,并发编程并不是流水线一般一下运行完毕,而是像右边这样子,在两个函数或者进程间进行来回切换,逐步运行的,但是频率非常高,几乎感受不到。

然而并发编程也带来一个问题,进程安全,试想一个账户有100元,你和你朋友从两台ATM中同时对它进行提取100元,那你们能得到200元吗?肯定是不能的,账户应该被具有原子特性的事物保护着,确保一次操作只能有一台ATM进行,并且存取要么不执行,要么都执行,而其他用户操作都是不被允许的。

看到这里想到了操作系统中的PV算法,也是为了保证进程安全,对临界区进行访问控制。

通过引用的方式将原始数据结构传入函数,函数执行完成后,原始数据结构也会发生变化,这是利用函数的副作用编程

使用scheme进行函数式编程范式进行编程,不会有任何副作用。

CS107编程范式-学习笔记-1相关推荐

  1. 《Linux高性能服务器编程》学习笔记

    <Linux高性能服务器编程>学习笔记 Linux高性能服务器编程 TCP/IP协议族 TCP/IP协议族体系结构以及主要协议 数据链路层 网络层 传输层 应用层 封装 分用 测试网络 A ...

  2. Java编程思想学习笔记-第11章

    <?xml version="1.0" encoding="utf-8"?> Java编程思想学习笔记-第11章 Java编程思想学习笔记-第11章 ...

  3. 【C#编程基础学习笔记】6---变量的命名

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...

  4. 【C#编程基础学习笔记】4---Convert类型转换

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...

  5. 《基于GPU加速的计算机视觉编程》学习笔记

    <基于GPU加速的计算机视觉编程>学习笔记(1) 最近打算 准备工作 CUDA开发环境(主要是查看N卡的信息) 在WIN10下安装CUDA工具包 最近打算 在训练模型的时候,感觉电脑非常吃 ...

  6. Linux C编程一站式学习笔记2

    Linux C编程一站式学习笔记 chap2 常量.变量和表达式 本书以C99为标准 一.继续hello world 加入更多注释的hello world 可以用ctrl+(shift)+v复制到vi ...

  7. 熊猫的python小课_朋友圈里那个可爱的小熊猫Python编程的学习笔记,学编程,不难!...

    Print( ) 详细请见公众号文章,里面有让人印象深刻,无法忘记的灵魂画手的图画解释.朋友圈里那个可爱的小熊猫Python编程的学习笔记,学编程,不难!​mp.weixin.qq.com 人类有人类 ...

  8. GO 编程模式学习笔记——GO GENERATION

    GO编程模式学习笔记系列为学习陈皓的GO编程模式系列文章记录与心得. 原文链接:GO 编程模式:GO GENERATION Go语言代码生成主要还是用来解决编程泛型的问题.Go语言的类型检查有两种技术 ...

  9. 编程开发学习笔记之程序员如何用1年时间获得3年成长(图)

    2019独角兽企业重金招聘Python工程师标准>>> 编程开发学习笔记之程序员如何用1年时间获得3年成长(图) 前言 这世界存在这么一个银行,你一出生,就自动享有这家银行为你开设的 ...

最新文章

  1. python 将一个整数变成2个字节的字符
  2. WINCE cvrtbin命令简介
  3. Spring boot配置文件随机数
  4. php代码实现对word文件的查找与替换,ThinkPHP5使用phpword实现文件模板字符替换
  5. REST架构风格的理解(分布式应用系统的架构演变)
  6. java发送qq邮件
  7. 关于vscode CloudMusic 插件无法登陆
  8. 基于STM32F4系列 之 霍尔编码器减速直流电机
  9. 转载 基于MATLAB 进行图像分类
  10. 省市县及对应编码-json格式
  11. xiaok海洋测绘网全新改版(使用emlog)
  12. 伸展树算法c语言,数据结构之伸展树详解
  13. WordPress采集wordpress挂机采集插件
  14. 一叶知秋,很多IT“专家”其实都只是“砖家”
  15. Android 折叠屏适配最全的攻略在这里
  16. 输出用1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数(C语言)
  17. 最难找工作的10种大学生
  18. ubuntu查看网速的工具
  19. 超简单!H5项目套APP外壳
  20. 用python画一朵玫瑰花,送给你的女神

热门文章

  1. HashMap中计算散列位置时,用与运算代替取模运算的原理
  2. php cms 源码,PHPCMS v9.6.1 UTF8
  3. Linux系统安装与删除软件的方法
  4. 镍氢电池怎么修复充电
  5. 解决华为系列手机真机调试Logcat不显示问题
  6. 数据的概率分布以及用python绘制分布图
  7. 梦泪的服务器是qq还是微信,从微信区杀到QQ区,梦泪、孤影双排诠释什么叫上分如喝水...
  8. Windows 右下角 输入法 图标 不见了 显示输入法 图标 绝对成功
  9. matlab中conj语句是什么意思,conj(conj的用法)
  10. Warning: Cannot update during an existing state transition (such as within `render`). Render methods