我們都是拋石機(jī)程序員
后記:我第一次接觸馮·諾依曼計(jì)算機(jī)中“存儲(chǔ)程序”這個(gè)概念的時(shí)候,覺(jué)得挺疑惑的,因?yàn)橹灰阌眠^(guò)計(jì)算機(jī),就會(huì)知道軟件需要安裝到硬盤(pán)的某個(gè)目錄,然后裝入內(nèi)存運(yùn)行,程序在內(nèi)存中以二進(jìn)制的方式存在,是最自然不過(guò)的事情。
但是最早的計(jì)算機(jī)器僅內(nèi)含固定用途的程序。例如一個(gè)計(jì)算器僅有固定的數(shù)學(xué)計(jì)算程序,它不能拿來(lái)當(dāng)作文字處理軟件,更不能拿來(lái)玩游戲。若想要改變此機(jī)器的程序,你必須更改線路、更改結(jié)構(gòu)甚至重新設(shè)計(jì)此機(jī)器。就像漫畫(huà)中的拋石機(jī)計(jì)算器一樣。
把軟件和硬件剝離,把程序保存在主存儲(chǔ)器中,一條條執(zhí)行,確是一個(gè)挺了不起的思想。
馮·諾依曼是個(gè)偉大的天才,他不僅是現(xiàn)代計(jì)算機(jī)和博弈論的重要?jiǎng)?chuàng)始人,還在數(shù)學(xué),量子力學(xué),經(jīng)濟(jì)學(xué)等領(lǐng)域有重大貢獻(xiàn)。
【本文為51CTO專(zhuān)欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)作者微信公眾號(hào)coderising獲取授權(quán)】