我崇拜的程式設計界的那些人或事

2021-07-05 00:00:06 字數 2735 閱讀 7496

以下內容摘抄自網路:

<>

python 已經成為最受歡迎的程式語言之一。2023年1月,它被 tiobe 程式語言排行榜評為 2010 年度語言。自從2023年以後,python的使用率是呈線性增長

由於 python 語言的簡潔、易讀以及可擴充套件性,在國外用 python 做科學計算的研究機構日益增多,一些知名大學已經採用 python 教授程式設計課程。例如卡耐基梅隆大學的程式設計基礎、麻省理工學院的電腦科學及程式設計導論就使用 python 語言講授。

python的設計哲學是「優雅」、「明確」、「簡單」。因此,perl語言中「總是有多種方法來做同一件事」的理念在python開發者中通常是難以忍受的。python開發者的哲學是「用一種方法,最好是只有一種方法來做一件事」。

python 是 google 的三大開發語言之一。2004 年,python 已在 google 內部使用,google 召募許多 python 高手,但在這之前就已決定使用 python,他們的目的是 python where we can, c++ where we must,在操控硬體的場合使用 c++,在快速開發時候使用 python。」

python 是著名的「龜叔」 guido van rossum 在2023年聖誕節期間,為了打發無聊的聖誕節而編寫的乙個程式語言。

<>

git是目前世界上最先進的分布式版本控制系統(沒有之一)。

什麼是版本控制系統?

如果你用 microsoft word 寫過長篇大論,那你一定有這樣的經歷:

想刪除乙個段落,又怕將來想恢復找不回來怎麼辦?有辦法,先把當前檔案「另存為……」乙個新的word檔案,再接著改,改到一定程度,再「另存為……」乙個新檔案,這樣一直改下去,最後你的 word 文件變成了這樣:

過了一周,你想找回被刪除的文字,但是已經記不清刪除前儲存在哪個檔案裡了,只好乙個乙個檔案去找,真麻煩。看著一堆亂七八糟的檔案,想保留最新的乙個,然後把其他的刪掉,又怕哪天會用上,還不敢刪,真鬱悶。

更要命的是,有些部分需要你的財務同事幫助填寫,於是你把檔案copy到u盤裡給她(也可能通過email傳送乙份給她),然後,你繼續修改word檔案。一天後,同事再把word檔案傳給你,此時,你必須想想,發給她之後到你收到她的檔案期間,你作了哪些改動,得把你的改動和她的部分合併,真困難。

於是你想,如果有乙個軟體,不但能自動幫我記錄每次檔案的改動,還可以讓同事協作編輯,這樣就不用自己管理一堆類似的檔案了,也不需要把檔案傳來傳去。如果想檢視某次改動,只需要在軟體裡瞄一眼就可以,豈不是很方便?

這個軟體用起來就應該像這個樣子,能記錄每次檔案的改動:

版本    使用者   說明                        日期

1        張三    刪除了軟體服務條款5      7/12 10:38

2        張三    增加了license人數限制    7/12 18:09

3        李四    財務部門調整了合同金額   7/13 9:51

4        張三    延長了免費公升級週期        7/14 15:17

這樣,你就結束了手動管理多個「版本」的史前時代,進入到版本控制的20世紀。

很多人都知道,linus 在2023年建立了開源的linux,從此,linux 系統不斷發展,已經成為最大的伺服器系統軟體了。

linus 雖然建立了linux,但 linux 的壯大是靠全世界熱心的志願者參與的,這麼多人在世界各地為 linux 編寫**,那 linux 的**是如何管理的呢?

事實是,在2023年以前,世界各地的志願者把源**檔案通過 diff 的方式發給 linus,然後由 linus 本人通過手工方式合併**!

你也許會想,為什麼 linus 不把 linux **放到版本控制系統裡呢?不是有cvs、svn 這些免費的版本控制系統嗎?因為 linus 堅定地反對 cvs 和 svn,這些集中式的版本控制系統不但速度慢,而且必須聯網才能使用。有一些商用的版本控制系統,雖然比 cvs、svn 好用,但那是付費的,和 linux 的開源精神不符。

不過,到了 2002 年,linux系統已經發展了十年了,**庫之大讓 linus 很難繼續通過手工方式管理了,社群的弟兄們也對這種方式表達了強烈不滿,於是 linus 選擇了乙個商業的版本控制系統 bitkeeper,bitkeeper 的東家 bitmover 公司出於人道主義精神,授權 linux 社群免費使用這個版本控制系統。

安定團結的大好局面在 2005 年就被打破了,原因是 linux 社群牛人聚集,不免沾染了一些梁山好漢的江湖習氣。開發 samba 的 andrew 試圖破解 bitkeeper 的協議(這麼幹的其實也不只他乙個),被 bitmover 公司發現了(監控工作做得不錯!),於是 bitmover 公司怒了,要收回 linux 社群的免費使用權。

linus 可以向 bitmover 公司道個歉,保證以後嚴格管教弟兄們,嗯,這是不可能的。實際情況是這樣的:

linus 花了兩周時間自己用 c 寫了乙個分布式版本控制系統,這就是git!乙個月之內,linux系統的原始碼已經由git管理了!牛是怎麼定義的呢?大家可以體會一下。

git迅速成為最流行的分布式版本控制系統,尤其是 2008 年,github **上線了,它為開源專案免費提供 git 儲存,無數開源專案開始遷移至 github,包括jquery,php,ruby等等。

歷史就是這麼偶然,如果不是當年 bitmover 公司威脅 linux 社群,可能現在我們就沒有免費而超級好用的 git 了。

<>

絮叨一下最近的那些人那些事

最近專案組新近了很多人,也走了很多人。走的人呢,因為專案組感覺比較亂,來的人呢,因為不了解,也是對乙個專案組有所期盼。走的人懷著不甘心而走,來的人滿懷期待的來,看看目前的現狀。專案組分為分為幾個組,按照職能的不同分為 基礎環境組 主要負責基礎環境,包括ups電源問題,空調問題,伺服器硬體問題,網路裝...

面試接觸的那些人

面試接觸了形形色 色的面試官 有不懂技術的,在面試時感受不出來,他用他的語言技巧來考驗你的技術能力,我所做的,就是在他的質疑下,堅持自己的一切觀點,因為若自己否定自己,就是不靠譜的表現。有做研發的,不怎麼談技術深度,但會談技術思路與方法,若能說出不少好的見解,基本就成了,因為研發人員總是相信 不怕寫...

SNS,你到底吸收的那些人?

今天和乙個人聊了幾句,說開心網001,是以自己身邊的朋友為基調的,很nb的 乙個的好友80 是自己的同事。於是開心網有這樣的裙帶關係,所以就很nb。我還真沒看出這個nb地點來。校內不是乙個自己現實朋友圈。但是太有乙個真實感受。就是認為是真人,而不認為對面坐的是乙隻狗。先說一聲,我不是學心理學的,只是...