[oeasy]python0007-Guido的简历

时间:2022-10-15 10:57:50

Guido的简历 ????

回忆上次内容

  • 计算机本身的特性决定
  • 计算机保存传递的是电子
  • 而不是原子
  • 这就使得存储和分发的成本几乎为零
  • 在这样的物理基础上
  • 出现了*软件运动
  • 从rms提出的free software 开始
  • 到gnu研发的各种软件
  • *软件运动之后出现了开源运动
  • 提倡把源代码开放
  • 也被大量的商业公司所跟随
  • python其实是
  • 一个典型的开源项目
  • *软件标志性的语言
  • 是谁制作出了python这个语言呢?

Guido

  • 荷兰人Guido 最早开发的 python
  • 那个时候还没有github

[oeasy]python0007-Guido的简历

  • 当时 Guido 怎么就想到要创造一个 python 呢?

缘起

  • 最早 Guido 曾经在 CWI 工作
  • CWI是荷兰的数学与计算机科学国家研究所

[oeasy]python0007-Guido的简历

  • 这个研究所在研究一种语言
  • 能够像C语言那样
  • 全面调用计算机的功能接口
  • 又能像shell那样
  • 轻松的编程
  • 这个语言叫做ABC
  • 当时 Guido 在 CWI 参与到 ABC语言 的开发
  • 他将自己所知的一切语言设计知识都倾注在这个项目上
  • 尽管已经具备了良好的可读性和易用性
  • Guido白天做abc
  • 晚上做自己的python
  • 但ABC语言最终还是没有流行起来
  • 后来Guido去哪里了呢?

cnri

  • 荷兰的国家研究中心

[oeasy]python0007-Guido的简历

  • Guido吸取了ABC的教训
  • 开始了自己的 python语言
  • 95 年开源运动还在兴起的过程中
  • 研究python项目的经费是 cnri 出的
  • 按理说这python应该算是cnri的

发展

  • Guido 想把他做成开源的
  • 但是没有立场
  • 毕竟 cnri 花了钱
  • python 从开始
  • 就是属于Guido的
  • 最开始在 cwi 工作写abc
  • 下班摸鱼 改的 python 的 bug
  • 到了 cnri
  • 继续做这个
  • 甚至让 cnri 出研究python项目的经费

[oeasy]python0007-Guido的简历

  • 从python的Owner上面
  • 其实可以看到Guido的工作轨迹
  • 那这个python到底属于谁呢?

Guido 的考量

  • 在 python 的 license 里面提到了 cwi 和 cnri
  • 当时 python 的主要成员开始讨论
  • python 应该继续免费开源还是商业

[oeasy]python0007-Guido的简历

  • Guido 认为如果商业化
  • python 的用户就会离开
  • 最终选择开源
  • 贡献者和社区也是在开源的基础上发展起来的
  • 但商业是世界运行的底层逻辑
  • 强大的商业资本方会有律师、媒体
  • python 离开商业也会举步维艰
  • 这曾让 Guido 很苦恼

转机

  • 开源运动的爆发给了他启发
  • 他开始选择 gpl 协议来发布python源代码
  • gpl 后续必须也得开源
  • 后来互联网兴起
  • 其中一个网站​​BeOpen.com​
  • BeOpen 想做的是开源门户
  • 用的技术是 开源的python
  • BeOpen 想要帮 Guido 发展python
  • 就想给他一份工作
  • 工作内容就是完善 python
  • 这正是 Guido 所需要的!!!
  • Guido 带着 3 个 CNRI 的同事一起去了
  • 这时候 CNRI 的管理层慌了
  • 他们觉得 Guido 疯了
  • BeOpen 是个创业公司
  • 找 Guido 谈话
  • 威胁他去了就别想再回来
  • 但是不可阻止了
  • Guido走了
  • CNRI 的 python 项目
  • 自然也跟着走了
  • Guido 在哪
  • python 项目就在哪
  • 正好是互联网泡沫兴起的时候
  • 有兴起就有衰落
  • BeOpen也在苦苦支撑中
  • 这时候Guido又该何去何从呢?

后来

  • Guido 很担心 python 源代码的所有权问题
  • 后来 Guido 去了 soap 公司
  • 在那里他咨询了律师
  • 并建立了 python 基金会
  • psf
  • 明确了 python 的协议和所属问题
  • 开源运动已经慢慢发展起来了

[oeasy]python0007-Guido的简历

  • Guido开始接收到各种邀约

Google

  • 后来他去google面试的时候
  • 简历非常简单
  • I wrote python
  • 后几轮面试的时候
  • 面试官开始反应过来
  • 这是python之父Guido
  • 2005年
  • 加入 google
  • 2012年
  • 加入 dropbox
  • 当时dropbox只有 150 人
  • 玩起了云存储
  • 2020年 去了微软
  • 微软号称拥抱开源
  • 要帮Guido提高python性能3-5倍
  • 目前Guido还在微软
  • 这就是Guido和python的历史
  • 在商业的世界里
  • Guido 走出了属于自己的道路
  • 从无到有
  • 让我们用 python
  • 为 Guido 写一个简历吧

​准备oeasy.py​

[oeasy]python0007-Guido的简历

[oeasy]python0007-Guido的简历

​guido.py​

#用vi打开并编辑guido.py
vi guido.py
  • 上一步的oeasy.py中输出了两行内容:
  • hello
  • oeasy
  • 读取上次的文件进入当前缓存

[oeasy]python0007-Guido的简历

整理代码

  • gg
  • 将光标移动回到最开头

[oeasy]python0007-Guido的简历

  • dd
  • 删除(delete)光标所在行
  • 最开头的一行(gg

[oeasy]python0007-Guido的简历

复制代码

  • 先按一下y
  • 观察下图红框位置

[oeasy]python0007-Guido的简历

  • 再按一下G
  • 完整命令是yG
  • 复制的是
  • 从当前位置(最开头gg
  • 到最后一行(G)的内容
  • 这里复制了两行

[oeasy]python0007-Guido的简历

  • 这两行被复制(yank)进了默认寄存器
  • 然后准备粘贴

粘贴

  • 2P (注意此处是大写P)
  • 在当前位置上方粘贴(paste) 2 次

[oeasy]python0007-Guido的简历

  • 多出来4行...
  • 可以想见9999p
  • 这次剪切板里面有两行代码
  • 这一粘贴出来就可以有2*9999行代码了
  • 还记得上次万行代码的圆梦之旅吗?
  • ????

回忆...

[oeasy]python0007-Guido的简历

  • 万行代码不是梦
  • 9999p

[oeasy]python0007-Guido的简历

查看神迹

  • G
  • 这次仍然仿佛是真的发生过的梦一般

[oeasy]python0007-Guido的简历

  • 上次1万
  • 这次2万
  • 翻了一番
  • 截图纪念!!

梦醒时分????

  • 圆梦了之后
  • 感觉有点空虚
  • 梦还是要醒的
  • u回来
  • u是undo撤销
  • 按一下u相当于撤销一步

[oeasy]python0007-Guido的简历

  • 撤销多了可以ctrl+r
  • ​r​​edo 重做

回到最初

  • 又回到最初6行的样子

[oeasy]python0007-Guido的简历

  • 梦醒之后????
  • 进行我们的修改

自行修改

  • i
  • 重新切换到插入模式为输出添加年份标号

[oeasy]python0007-Guido的简历

  • 底行显示目前状态为插入模式
  • 最终把guido.py编辑成如下的样子

print("1982------Guido in cwi")
print("1995------Guido in cnri")
print("2000------Guido in beopen")
print("2005------Guido in google")
print("2012------Guido in dropbox")
print("2020------Guido in microsoft")

执行

  • esc
  • 退回到正常模式

[oeasy]python0007-Guido的简历

  • esc退出插入模式
  • 准备底行命令模式运行当前py文件

保存执行

  • ​:w|!python3 %​
  • 保存并用 python3 解释当前程序(%)

[oeasy]python0007-Guido的简历

  • 可以看到输出了标了号的 6 行

[oeasy]python0007-Guido的简历

  • 这 6 行的顺序就是按照我们标号的​​顺序​​ 来的

顺序执行

  • 这个过程叫做顺序执行
  • 按照次序顺着执行的

[oeasy]python0007-Guido的简历

顺序播放

  • 就像我们听语音是挨排听的

[oeasy]python0007-Guido的简历

  • 这个过程叫顺序播放
  • 按照次序顺着执行的

音符顺序

  • 演奏音符也是一个个按照顺序演奏,才是这首歌曲
  • 调换一下次序,就乱了,不是这个歌了
  • 不过其实也是一种思路。。。????

[oeasy]python0007-Guido的简历

  • 这个过程叫顺序演奏
  • 按照次序顺着演奏的

按部就班

[oeasy]python0007-Guido的简历

  • 我们的生活也是按照线性的时间线顺序完成的

学习

  • 学习也一样
  • 要按照时间的次第
  • 一步一步来

[oeasy]python0007-Guido的简历

  • 细水长流
  • 这个编程也像流水一样
  • 从头流到尾
  • 所以程序也叫流程

总结

  • ​py​​ 的程序是按照顺序执行的
  • 是一行行挨排解释执行的
  • 程序并不是数量越多越好
  • kpi也在不断演化

[oeasy]python0007-Guido的简历

  • 写的代码越多
  • 出现的bug就越多
  • 什么是bug
  • 如何找bug呢?
  • 我们下次再说!????

蓝桥->​​https://www.lanqiao.cn/teacher/workbench/courses/3584​​​ github->​​​https://github.com/overmind1980/oeasy-python-tutorial​​​ gitee->​​​https://gitee.com/overmind1980/oeasypython​​ 作者:oeasy