有趣的八個IT冷知識
來源:
奇酷教育 發表于:
有趣的八個IT冷知識
有趣的八個IT冷知識
想要成為一名成功的程序員,我們除了了解不同編程語言的設計思路,也應當了解編程的發展歷史,從而判斷未來的編程技術將走向何方。接下就為大家普及下計算機發展歷程中的8個冷門小知識!
01
第一臺電腦為蒸汽驅動
作為公認的編程之父,Charles Babbage發明了世界上首批計算機之一。他將這臺新設備稱為分析引擎。其體積超過一棟房屋,由六臺蒸汽機驅動并使用打孔卡進行編程。分析引擎有四大主要組成部分:1.轉盤——相當于現代計算機中的CPU;2.存儲——相當于現代計算機中的內存與存儲介質;3.讀取器——相當于輸入機制;4.打印機——用于實現信息輸出。
02
電腦病毒的設計初衷并非是造成損害
史上第一款電腦病毒,竟然是由防御技術專家Fred Cohen親手設計出來的。他創造電腦病毒的目的僅僅是為了證明程序對電腦感染的可行性,從未希望借此對電腦造成任何危害。但這款程序卻能夠對電腦進行感染,并且能通過軟盤等移動介質在不同計算機之間進行傳播,因而命名為病毒。后來,他又創造出一種主動式電腦病毒,主要目的是幫助電腦用戶找到未受感染可執行文件。
03
第一位程序員是位女性
也許最令人難以置信的是,歷史上第一位程序員是位女性。她的名字是Ada Lovelace。在1843年,這位英國數學家Ada Lovelace,翻譯了意大利工程師Luigi Menabreaw撰寫的分析引擎文章。在翻譯過程中,她把自己的理解都批注到每篇文章下,而這舉動加快了計算機編程技術的發展。在這之后,她又設計出了第一種能夠利用分析引擎計算伯努利數的算法,這也是第一個用電腦編寫的算法。
04
第一款數字化電腦游戲從未帶來任何利潤回報
現在的視頻游戲已經成為了最受矚目的程序開發成果,然而歷史上第一款數字計算機游戲則遭遇巨大失敗。第一個電腦游戲出現于1962年,由麻省理工學院的計算機程序員Steve Russell與其團隊一同編寫,這款名為《太空大戰》的游戲耗費了他們近200個小時。該游戲允許兩名玩家分別控制兩艘飛船,目標是擊中并摧毀對方飛船,并且玩家還需要躲避屏幕中代表星球的小白點。如果玩家撞上這些星球,則游戲失敗。雖然Russell和他的團隊從未在這個游戲說的任何收益,但必須承認如果沒有這一突破我們可能永遠不會擁有如今蓬勃發展的視頻游戲產業。
05
圖像處理算法中使用最廣的一幅圖片來自《花花公子》雜志
40年來,這幅被應用為圖像處理方案中的泛用性標準測試素材,還被程序員們親切稱為Lena的圖片。但大多數人都不知道,它是來自《花花公子》雜志1972年11月刊的插頁。
06
GIT中保證文件完整性的SHA-1值
Linux kernel開創者和Git的開發者——Linus說,Git使用了SHA-1并非是為了安全性,而是為了數據的完整性;它可以保證,在很多年后,你重新checkout某個commit時,一定是它多年前的當時的狀態,完全一摸一樣,完全值得信任。
07
程序中bug的名稱源自“蟲子”
在程序中bug一詞用于技術錯誤。這一術語最初由愛迪生在1878年提出的,但當時并沒有流行起來。在這的幾年之后,美國上將Grace Hopper在她的日志本中,寫下了她在Mark II電腦上發現的一項bug。不過實際上,她說的真的是“蟲子”問題,因為一只蛾子被困在電腦的繼電器中,導致電腦的操作無法正常運行。如圖片所見,她寫道“這是我在電腦上發現的第一個bug”。
08
豐富多彩的計算機編程世界
如果將計算機編程世界看作一個國家,那么其中涉及的語言種類必然冠絕群倫。目前已知的編程語言共有698種,遠遠超過任何以語言多樣性著稱的國家。
更重要的是,程序員們應當了解編程技術的發展歷程以及各大里程碑式創新成果背后的貢獻者。另外,歷史文化能夠激發人們對于所從事行業的熱愛之情,從而更為積極地投身于工作當中。