遠古程序員

今天週末,爲了讓不加班又沒女朋友可陪的程序狗狗們不寂寞,老狗早早就起來寫文章了。今天不寫枯燥的技術,老狗特意準備了趣味性和知識性並重的編程歷史以饗衆狗,祝大家度過一個輕鬆愉快的週末!本文資料來自老狗二十年來與前輩、師長、同僚的吹牛打屁,並參考互聯網上的相關文章,詳盡數據及圖片來自讓你知道你才能知道的百度知道(維基百科今天被封了,靠一個!)和科學松鼠會等網站,特此鳴謝。

古老的中國有個好傳統,各行各業都拜祖師爺。說到史上第一個程序員,我們程序狗狗們的祖師爺,大家知道是誰?下面有少年狗狗蹦蹦跳跳的喊:“我知道我知道!阿達.洛芙萊斯啊!白富美,伯爵夫人!”不錯,不知爲何,這兩年阿達突然被炒的家喻戶曉,程序員都知道。阿達是第一個編寫算法的人,下面我會專門寫到她。但阿達還不是第一個程序員,我們真正的祖師爺是下面這位:


噓聲一片是不是?不好意思讓大家失望了,我們的祖師爺其實是這位土頭土腦的大爺,約瑟夫.瑪麗.雅卡爾。別看名字挺洋氣(廢話!人家就是個洋人!),跟超級瑪麗沒半毛錢關係。這位大爺從事的職業呢,不好意思,也不是高大上的數學家、科學傢什麼的,大爺就是個法國農村造織布機的工匠。那他做了什麼被奉爲程序員的始祖呢?是這樣的,雅卡爾於1799年綜合前人的成果,製成了一臺可編程控制花紋的織布機,並且發明了用打孔卡片來控制花紋圖樣的編程方式。各位恍然大悟了吧,這臺織布機放今天,該叫做專用計算機、或者工業控制計算機,至少也是臺程控機牀。打孔卡片的思路也啓發了後來的程序員,在很長時間以內都是程序的主要輸入方式,老狗少年時去參觀省氣象臺,還見到過用打孔紙帶的計算機。下面的圖就是大爺製造的織布機:


有沒有讓大家想起刺客聯盟裏的織布機?實際上電影裏用經緯線織出二進制密碼的靈感就是來自雅卡爾織布機,再說個讓中國人驕傲的事,把紙上的花樣輸入到機器中去的技術來自明清時的中國江南,叫做桃花結本,後來傳到歐洲併爲歐洲的工匠加以改進。所以再往前追溯,程序狗狗們的祖師可能是江南織造總局(曹雪芹他家那個)的某個燈下辛勞憔悴的織女。

至於雅卡爾大爺,在發明雅卡爾織布機後風光一時,拿破崙還授予他勳章。後來被家鄉的織布工人追殺亡命他鄉,因爲織布工人認爲這種機器讓他們丟了飯碗。雅卡爾大爺把土頭土腦、精於技術不通人情這些基因遺傳給程序員們之後,從歷史長河中消失了。1994年IBM將其操作系統命名爲OS/2Warp,Warp就是紡織布上的經緯線,算是對大爺的一種紀念。

時間長河繼續向前奔流了40年,1842年阿達.洛芙萊斯編寫了世界上第一個程序,程序用打孔卡片的形式輸入到她的朋友,英國數學家查爾斯.巴貝其(CharlesBabbage)發明的分析機中,從而成爲我們所知史上第一個程序員。白富美阿達建立了循環和子程序等概念,編制了第一個可用於分析計算的程序,比雅卡爾大爺正規多了。本人還是高大上的數學家,有個更高大上的爹---英國詩人拜倫,所以這兩年突然炙手可熱,被程序員拜爲教母。可惜本人只活了36歲,嚴重奠定了程序員早死的基因。下面是阿達.洛芙萊斯的畫像,供程序狗狗們膜拜:

阿達.洛芙萊斯的英文是AdaLovelace(愛的蕾絲邊),嘖嘖,她爹起名字的時候是怎麼想的?順便提一句,她爹拜倫也是史上著名的同性戀之一。說這些絕無對同性戀不敬的意思,是爲了用這個話題引出史上最著名的程序員,我們光輝的祖師之一,因爲是同性戀而遭迫害的阿蘭.圖靈。喂,阿蘭!把蘋果放下,過來露個臉啦!


圖靈教授最大的貢獻不是那個圖靈測試,儘管那個更廣爲人知,圖靈教授史上第一次明確了任何算法都是可以用自動的機器來計算的,並且設計了圖靈機的數學模型,也就是現代計算機的原型。然後,教授就被軍情六處抓去當007了,具體經歷可以參看電影《模仿遊戲》。1952年,圖靈教授由於被前男友盜竊而報警(此人該獲頒史上最坑前任稱號),卻被英國警方發現了同性戀傾向,之後遭各種不人道對待等等,最後咬了一口毒蘋果掛了,留下一句著名遺言“防火防盜防前任啊!”,沒有七個小矮人給他做水晶棺,也沒有王子來救。

英國王室和政府在2013年才正式給圖靈平反,當時英國司法部長宣佈“圖靈的晚年生活因爲其同性取向而被迫蒙上了一層陰影,我們認爲當時的判決是不公的,這種歧視現象現在也已經遭到了廢除。爲此,女王決定爲這位偉人送上赦免,以此向其致敬。”

其實圖靈教授在二戰前還有一位美國老師---阿隆佐.丘奇,程序狗狗對他反而不是很熟悉,在網上都很難找到丘奇教授的照片,只有這張被百度百科打了水印的:


爲了表達對百度這種盜別人的圖打自己的水印行爲的深深鄙視,我給這個圖片又打上雷鋒要炸雷峯塔的水印。

丘奇教授纔是真正發明現代編程語言的人,他發明的語言叫“λ演算(lambdacalculus)”。不熟?上大學時學過Lisp吧,著名的Lisp其實就是λ演算的語言實現。

關於我們前輩的故事今天就講到這裏,在這篇文章裏,時間長河從1799年奔騰咆哮着流過了150多年。從那時再到現在的60多年間,還有如約翰.凱梅尼(Basic語言)、丹尼斯.裏奇(C語言,不知道請自己打臉)、高斯靈(Java語言)等諸多後輩紛紛崛起,把前輩們一個一個拍死在沙灘上。那已經不是本文要說的內容了,如果想看後文,請拼命打賞。


以上部分資料和圖片來自:

百度百科:http://baike.baidu.com

松鼠科學會:http://songshuhui.net/

開源中國社區:http://www.oschina.net

按慣例在此鳴謝。



歡迎掃碼關注我的微信公衆號


junior9919


請用打賞點燃我的小宇宙!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章