程序員的故事

linux是全球那些非常有實力的程序員的最愛,linux的高效,穩定正是這些人的核心訴求。所以,理解linux爲什麼那麼設計,而和windows大相徑庭。所以喜愛linux的重要一步就是要嘗試理解程序員們的訴求,需要,嘗試換位思考,試着寫寫代碼,相信你會很快愛上linux的。本文就爲大家分享一些程序員的軼事,趣事,讓你開始瞭解他們。




那天喝酒的時候,技術哥給罈子哥講了5個高冷的it八卦

談資昨天

1.php還真不是“拍***”的,至少不全是——全球目前有9億7千7百萬的網站,大約有39%是由php搭建的。甚至有這些非主流網站:facebook、維基百科,youtube,wordpress都是採用php技術架構的,當然,這些都是傳說中的網站。

其他的語言還有:jsp,python,ruby…等。



毋庸置疑,php是最好的計算機程序語言,有以下的段子爲證:

某女:“你能讓這個論壇的人都吵起來,我就跟你約會。”

某程序猿:“PHP是最好的語言! ”

某論壇炸鍋了,各種吵架。

某女:“服了你了,我們走吧。”

某程序猿:“今天不行,我一定要說服他們,PHP必須是最好的語言。”

2.江湖中有一大堆關於Jeff Dean的傳奇故事,都是由崇拜他的谷歌員工寫的。如果你瞭解軟件工程師,懂得程序員幽默的話,那你會覺得那些故事非常有趣。

Who’s Jeff dean?



他曾經開發了Map Reduce和Big Table,並於2009年以40歲的高齡當選美國科學院院士。簡單來說,這貨是Google牛逼的源泉之一。他到底有多牛?

在2000年後段,Jeff碼代碼的速度突然激增了40倍,原因是他把自己的鍵盤升級到了USB 2.0。

解釋:usb是優盤與計算機的接口,usb1.0的峯值傳輸速度是1.5MB/秒,而useb2.0的峯值傳輸速度是60MB/秒,嗯,不多不少,剛好40倍,假設一部普通的島國動作片的大小在1.0G左右的話,使用usb2.0在全速傳輸的情況下17秒鐘內可傳完。Jeff要是有興趣的話,他可以在20秒內就可以“打”完一部AV長片,還有時間地洗個澡,換一套衣服。比較一下日本導演三天一部的拍片速度,不拍片真是太浪費人才了。

Jeff閒暇時刻是“看”MP3,他用眼睛掃描mp3的二進制編碼然後在他腦子裏自動進行音頻解碼,讓音樂使自己感到放鬆。

解釋:mp3將聲音轉成數字信號保存起來,但聲音從音箱裏面傳出來的時候,得先有個mp3解碼器,將數字信號轉換成聲音信號(模擬信號),Jeff不需要這麼奢侈的mp3播放器,直接就肉眼掃描mp3文件。

Jeff Dean首先寫的是二進制代碼,然後再寫源代碼作爲文檔。

解釋:二進制代碼是電腦cpu能識別的句子,源代碼是人類能識別的句子。源代碼通過專用的翻譯程序(編譯器)轉變成二進制代碼供電腦運行,世界上常用的計算機編程語言大約有30多種,同理必然會存在相同數量的編譯器(比如C語言,C++ ,Java,寫蘋果App的Object-c語言),所謂人有人言,獸有獸語,Jeff直接寫出計算機能懂的機器碼,省略了翻譯這一步,至於寫源代碼的目的是讓其他人能看懂這段程序。

因爲對常數級的時間複雜度感到不滿意,Jeff發明了世界上第一個O(1/n)算法。

解釋:計算機行業常用O(n)表示計算複雜度,包括耗費的時間和資源。比如要算出n個數字裏面的最大值,不可能n越大而計算複雜度越小。這樣的話,人類也沒必要發明計算機來用於計算了。

3.這個星球目前有3大主流操作系統,分別是windows,mac os,linux。前面兩大都不說了,linux最開始是由Linus Torvalds(江湖上人送外號玉面飛龍小王子之極客之王)完成,然後開源,全世界的程序員都在爲它貢獻代碼;在服務器操作系統市場中,Linux大概佔到了65%,並且持續蠶食windows的市場。這位大神也是一個爆脾氣,絕不是中國傳統文化中慈眉善目的老爺爺形象,他除了善於用他可愛的小手指打出linux系統之外,還更善於使用中指來表達心中細膩的小心思。

我們先來看看這個死胖子長得有好帥:





嗯!符合我們對程序員的預期形象,甚至給程序員設置了一個標準形體模式。

他噴了C++:“我確實不喜歡C++,依我來看,它真的是一門很爛的語言。C++語言想解決的問題都不對路,都是一些皮毛問題,而沒有涉及真正深層次的問題”,“C++是狗屎,根本沒啥設計,只是在C上面加了些渣滓而已”。



(畫外音:看到這個指頭嗎?我就是用它來寫出linux的)

在內部郵件裏面罵人並自我辯護:“某些人以爲我是好人,在發現不是之後感到震驚。我不是一個好人。我也不在乎你們。我在乎的是技術和內核——那纔是對我重要的東西”(這是辯護嗎?怎麼感覺好像和我平時說“就罵你丫的!你來咬我啊”。那份自信,從容和猥瑣真是不遑多讓啊)。



罵nvdia公司:“我也很高興地公開指出,NVIDIA是我們接觸過的最糟糕的公司,沒有之一。”隨後他瀟灑地向Nvidia公司豎起中指。



4.高德納(Donald Ervin Knuth),1974年的ACM圖靈獎得主,捧走了歷史上第9個圖靈碗。這一年他只有36歲,直到現在,他仍然保持着獲獎年齡最小的紀錄。



高德納教授有四大成就:



1.排版系統TEX。TEX是一場出版界的革命,直到現在仍是全球學術排版的不二規範,它所排出的文字之美,特別是數學式子的美,讓人們由衷感嘆:啊,一毫米都不能再挪動了;

2.是METAFONT,這是一套設計字體的系統。對於它的價值,一句話就能概括:計算機界最懂字體的兩個人,一個是蘋果的喬布斯,另一個就是高德納;

3.文學化編程(Literate Programming),它把程序設計的藝術性展示得淋漓盡致。高德納說,一段好的程序,不僅僅是要清晰易讀,而且要能夠讀出美感,讀出意境。天吶,意!境!一排一排的計算機代碼,要像詩歌一樣充滿意境。

4.《計算機程序設計藝術》這套書籍,一共七卷本,目前只出到了前四卷,還有三卷仍在待字閨中。



前面提到的Linux的作者Linus說:上帝在夢中告訴我,我做出了最優秀的操作系統。高德納回答說:我可沒這麼說過。

5.圖靈和馮·諾依曼

將這兩位放在一起說實屬對偉人的大不敬(罪過罪過,童言無忌,大神莫怪)。不過爲了區分兩者的貢獻領域,對比着看吧





計算機界最高獎項叫圖靈獎,而將計算機之父的稱號送給了馮·諾依曼,這是爲什麼?這兩位計算機發展史上的兩位鼻祖的功績,主要區別何在?

圖靈是同性戀,雖然是受的一方,但絕不是這個原因不授予他父親的稱號。

圖靈創造了設計cpu指令的數學方法,使指令設計有法可依,有據可靠,最根本的就是--狀態自動機,俗稱--狀態自動機(這鬼東西我也不知道爲啥翻譯得這麼拗口,還是舉例說明吧,你坐電梯的時候,電梯的門有兩種狀態,打開和鎖死,如果電梯在運動(上升或下降)中,電梯門是不可能打開的,我們就說門不可能在電梯運動狀態下轉變到打開狀態。電梯門要打開,必須電梯靜止時候才能到達打開狀態。這就是狀態自動機的規則。

如何自動地實現狀態變化的方法,圖靈解決了。但是,圖靈的指令系統單一不夠完善,總結起來主要有兩條。第一,沒能將指令存儲起來重複使用。第二,沒能形成實現程序結構設計。圖靈機欠缺的這兩點恰好被馮諾依曼提出的程序數據存儲的思想解決了。計算機系統在馮諾依曼教授的理論下終於完善起來,直到人類造出了第一臺計算機。



好吧,看你都快睡着了,作爲集古典藝術現代藝術於一身,兼具詩成泣鬼神的文學風格,精通各種計算機語言的我,還要告訴你一點:女性和男性一樣,在這個領域同樣地Run the World。世界上的第一個程序員和泰勒·斯威芙特(TaylorSwift)是同!一!性!別!

先來看看泰勒是什麼性別



英國著名詩人拜倫的女兒Ada Lovelace(1815-1852)。她甚至還建立了循環和子程序的概念。由於她在程序設計上的開創性工作,Ada Lovelace被稱爲世界上第一位程序員。美國國防部開發的ADA語言就是爲紀念這位世界上的第一位程序員而命名的。



而bug這個詞,也是由一位女程序員引入的。



葛麗絲·霍普(Grace Hopper)是計算機時代公認的偉大先驅之一,被譽爲Cobol計算機語言之母,還被譽爲“計算機軟件第一夫人”。



霍普1906年出生於紐約市的一個海軍世家,長大後就讀於瓦薩學院(Vassar College),1934年成爲耶魯大學233年校史上首位數學女博士。

霍普認爲,計算機程序應該用接近於英語而非機器碼或接近於機器碼的語言來編寫。1973年,她被提拔爲海軍上校。儘管她在1963年就已退休,但她仍應招入伍並積極投入工作,並在全球各地做巡迴演講,最高官至海軍少將。

霍普於1992年1月辭世,按照海軍最高榮譽葬於阿靈頓國家公墓。



感謝以上提到的各位計算機科學先驅,只有她們和他們,才讓人類跨越到的信息時代,她們和他們就是托起世界的巨人。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章