[oeasy]python0007-Guido的簡歷

Guido的簡歷 ??
回憶上次內(nèi)容
計(jì)算機(jī)本身的特性決定
計(jì)算機(jī)保存?zhèn)鬟f的是電子
而不是原子
這就使得存儲和分發(fā)的成本幾乎為零
在這樣的物理基礎(chǔ)上
出現(xiàn)了自由軟件運(yùn)動
從rms提出的free software 開始
到gnu研發(fā)的各種軟件
自由軟件運(yùn)動之后出現(xiàn)了開源運(yùn)動
提倡把源代碼開放
也被大量的商業(yè)公司所跟隨
python其實(shí)是
一個(gè)典型的開源項(xiàng)目
自由軟件標(biāo)志性的語言
是誰制作出了python這個(gè)語言呢?
Guido
荷蘭人Guido 最早開發(fā)的 python
那個(gè)時(shí)候還沒有g(shù)ithub

當(dāng)時(shí) Guido 怎么就想到要?jiǎng)?chuàng)造一個(gè) python 呢?
緣起
最早 Guido 曾經(jīng)在 CWI 工作
CWI是荷蘭的數(shù)學(xué)與計(jì)算機(jī)科學(xué)國家研究所

這個(gè)研究所在研究一種語言
能夠像C語言那樣
全面調(diào)用計(jì)算機(jī)的功能接口
又能像shell那樣
輕松的編程
這個(gè)語言叫做ABC
當(dāng)時(shí) Guido 在 CWI 參與到 ABC語言 的開發(fā)
他將自己所知的一切語言設(shè)計(jì)知識都傾注在這個(gè)項(xiàng)目上
盡管已經(jīng)具備了良好的可讀性和易用性
Guido白天做abc
晚上做自己的python
但ABC語言最終還是沒有流行起來
后來Guido去哪里了呢?
cnri
荷蘭的國家研究中心

Guido吸取了ABC的教訓(xùn)
開始了自己的 python語言
95 年開源運(yùn)動還在興起的過程中
研究python項(xiàng)目的經(jīng)費(fèi)是 cnri 出的
按理說這python應(yīng)該算是cnri的
發(fā)展
Guido 想把他做成開源的
但是沒有立場
畢竟 cnri 花了錢
python 從開始
就是屬于Guido的
最開始在 cwi 工作寫abc
下班摸魚 改的 python 的 bug
到了 cnri
繼續(xù)做這個(gè)
甚至讓 cnri 出研究python項(xiàng)目的經(jīng)費(fèi)

從python的Owner上面
其實(shí)可以看到Guido的工作軌跡
那這個(gè)python到底屬于誰呢?
Guido 的考量
在 python 的 license 里面提到了 cwi 和 cnri
當(dāng)時(shí) python 的主要成員開始討論
python 應(yīng)該繼續(xù)免費(fèi)開源還是商業(yè)

Guido 認(rèn)為如果商業(yè)化
python 的用戶就會離開
最終選擇開源
貢獻(xiàn)者和社區(qū)也是在開源的基礎(chǔ)上發(fā)展起來的
但商業(yè)是世界運(yùn)行的底層邏輯
強(qiáng)大的商業(yè)資本方會有律師、媒體
python 離開商業(yè)也會舉步維艱
這曾讓 Guido 很苦惱
轉(zhuǎn)機(jī)
開源運(yùn)動的爆發(fā)給了他啟發(fā)
他開始選擇 gpl 協(xié)議來發(fā)布python源代碼
gpl 后續(xù)必須也得開源
后來互聯(lián)網(wǎng)興起
其中一個(gè)網(wǎng)站BeOpen.com
BeOpen 想做的是開源門戶
用的技術(shù)是 開源的python
BeOpen 想要幫 Guido 發(fā)展python
就想給他一份工作
工作內(nèi)容就是完善 python
這正是 Guido 所需要的!??!
Guido 帶著 3 個(gè) CNRI 的同事一起去了
這時(shí)候 CNRI 的管理層慌了
他們覺得 Guido 瘋了
BeOpen 是個(gè)創(chuàng)業(yè)公司
找 Guido 談話
威脅他去了就別想再回來
但是不可阻止了
Guido走了
CNRI 的 python 項(xiàng)目
自然也跟著走了
Guido 在哪
python 項(xiàng)目就在哪
不過去BeOpen.com 的 2000 年
正好是互聯(lián)網(wǎng)泡沫興起的時(shí)候
有興起就有衰落
BeOpen也在苦苦支撐中
這時(shí)候Guido又該何去何從呢?
后來
他從BeOpen.com 之后
Guido 很擔(dān)心 python 源代碼的所有權(quán)問題
后來 Guido 去了 soap 公司
在那里他咨詢了律師
并建立了 python 基金會
psf
明確了 python 的協(xié)議和所屬問題
開源運(yùn)動已經(jīng)慢慢發(fā)展起來了

Guido開始接收到各種邀約
后來他去google面試的時(shí)候
簡歷非常簡單
I wrote python
后幾輪面試的時(shí)候
面試官開始反應(yīng)過來
這是python之父Guido
2005年
加入 google
2012年
加入 dropbox
當(dāng)時(shí)dropbox只有 150 人
玩起了云存儲
2020年 去了微軟
微軟號稱擁抱開源
要幫Guido提高python性能3-5倍
目前Guido還在微軟
這就是Guido和python的歷史
在商業(yè)的世界里
Guido 走出了屬于自己的道路
從無到有
讓我們用 python
為 Guido 寫一個(gè)簡歷吧
準(zhǔn)備oeasy.py
我們先恢復(fù)原來的oeasy.py

oeasy.py 已經(jīng)寫好了

保存并關(guān)閉oeasy.py
guido.py
#用vi打開并編輯guido.py
vi guido.py
上一步的oeasy.py中輸出了兩行內(nèi)容:
hello
oeasy
這一步我們把這兩行讀取到guido.py
:r oeasy.py
讀取上次的文件進(jìn)入當(dāng)前緩存

整理代碼
gg
將光標(biāo)移動回到最開頭

dd
刪除(delete)光標(biāo)所在行
最開頭的一行(gg

復(fù)制代碼
先按一下y
觀察下圖紅框位置

再按一下G
完整命令是yG
復(fù)制的是
從當(dāng)前位置(最開頭gg
到最后一行(G)的內(nèi)容
這里復(fù)制了兩行

這兩行被復(fù)制(yank)進(jìn)了默認(rèn)寄存器
然后準(zhǔn)備粘貼
粘貼
2P (注意此處是大寫P)
在當(dāng)前位置上方粘貼(paste) 2 次

多出來4行...
可以想見9999p
這次剪切板里面有兩行代碼
這一粘貼出來就可以有2*9999行代碼了
還記得上次萬行代碼的圓夢之旅嗎?
??
回憶...

萬行代碼不是夢
9999p

查看神跡
G
這次仍然仿佛是真的發(fā)生過的夢一般

上次1萬
這次2萬
翻了一番
截圖紀(jì)念??!
夢醒時(shí)分??
圓夢了之后
感覺有點(diǎn)空虛
夢還是要醒的
u回來
u是undo撤銷
按一下u相當(dāng)于撤銷一步

撤銷多了可以ctrl+r
r
edo 重做
回到最初
又回到最初6行的樣子

夢醒之后??
進(jìn)行我們的修改
自行修改
i
重新切換到插入模式為輸出添加年份標(biāo)號

底行顯示目前狀態(tài)為插入模式
最終把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")
執(zhí)行
esc
退回到正常模式

esc退出插入模式
準(zhǔn)備底行命令模式運(yùn)行當(dāng)前py文件
保存執(zhí)行
:w|!python3 %
保存并用 python3 解釋當(dāng)前程序(%)

可以看到輸出了標(biāo)了號的 6 行

這 6 行的順序就是按照我們標(biāo)號的
順序
來的
順序執(zhí)行
這個(gè)過程叫做順序執(zhí)行
按照次序順著執(zhí)行的

順序播放
就像我們聽語音是挨排聽的

這個(gè)過程叫順序播放
按照次序順著執(zhí)行的
音符順序
演奏音符也是一個(gè)個(gè)按照順序演奏,才是這首歌曲
調(diào)換一下次序,就亂了,不是這個(gè)歌了
不過其實(shí)也是一種思路。。。??

這個(gè)過程叫順序演奏
按照次序順著演奏的
按部就班

我們的生活也是按照線性的時(shí)間線順序完成的

學(xué)習(xí)
學(xué)習(xí)也一樣
要按照時(shí)間的次第
一步一步來

細(xì)水長流
這個(gè)編程也像流水一樣
從頭流到尾
所以程序也叫流程
總結(jié)
py
的程序是按照順序執(zhí)行的
是一行行挨排解釋執(zhí)行的
程序并不是數(shù)量越多越好
kpi也在不斷演化

寫的代碼越多
出現(xiàn)的bug就越多
什么是bug
如何找bug呢?
我們下次再說!??
藍(lán)橋->https://www.lanqiao.cn/teacher/workbench/courses/3584github->https://github.com/overmind1980/oeasy-python-tutorialgitee->https://gitee.com/overmind1980/oeasypython 作者:oeasy