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