如今,我們已經(jīng)深知編程的重要性,但是大家想過在計算機出現(xiàn)之前,編程的思想有出現(xiàn)在我們的生活中么? 其實,在公元前60年,在古希臘,就有人設(shè)計了一款可以按照特定路線行走的小車。
通過不同的繞繩方式,在軸承上繞繩完畢后,另一端掛下重物。通過重物拉動繩子,帶動軸承轉(zhuǎn)動,通過正轉(zhuǎn)反轉(zhuǎn)的搭配組合,就可讓小車走直線或者拐彎。
在漢朝,張衡也發(fā)明了自動計算路程的記里鼓車,每走十里路,里面的小木人兒就會擊鼓一次,每走百里,就會敲鐘一次通過這種方法,人們就能知道走了多少路了。雖然這不能稱之為真正的程序,不過這的確蘊含了編程的思想。
述織機工匠約瑟夫·雅卡爾設(shè)計出人類歷史上首臺可設(shè)計織布機——雅卡爾織布機,對將來發(fā)展出其他可編程機器(例如計算機)起了重要作用。說起織布,想想就是件體力活。橫一下,豎一下,橫一下,豎一下…… 無窮無盡。要在布上織出美麗的圖案,又是件腦力活,需要在織布機每次移動前挑選不同顏色絲線來拼出圖案。 如果是純腦力活也就罷了,但在織完一塊布后,如果要想再織相同的布,那就算有超級大腦也記不住織上塊布時每一步顏色選擇的細節(jié)了。雅卡爾發(fā)明了用打孔卡片來自動控制織布機。打孔卡片上的每一個可打孔位置對應(yīng)一個鉤子,而該處打孔與否決定對應(yīng)的鉤子是抬起還是放下,從而控制鉤子上的懸掛的線走在布的上邊還是下邊,這樣就可以自動織出圖案了。這種用打孔卡片來控制機器的方法就此流傳下來了。盡管提花是一個復(fù)雜的過程,但它的本質(zhì)是重復(fù)的操作,所以能夠交給機械完成。這時候我們已經(jīng)可以看到編程的曙光。
隨著第二次工業(yè)革命中電力的發(fā)現(xiàn),人們發(fā)明了計算機,編程迎來了它的的寒武紀(jì)生命大爆發(fā)。這才正式確立了編程的概念,人們自此也用編程在生產(chǎn)生活上做出了無數(shù)貢獻。 只有認(rèn)識了計算機發(fā)明前的編程發(fā)展史,我們才更能夠深刻地理解編程是什么,更好地體會與學(xué)習(xí)編程。