魏忠
美國獨(dú)立戰(zhàn)爭(zhēng)期間,南軍和北軍最后一次決戰(zhàn),在最后的關(guān)頭,李將軍放棄了游擊戰(zhàn)爭(zhēng)而全部歸順,格蘭特將軍將雙方戰(zhàn)士埋在一起,格蘭特將軍還給予南方將士全部的軍馬以便回家農(nóng)耕。之所以如此,不僅僅是因?yàn)殡p方都是西點(diǎn)軍校的畢業(yè)生,更重要的是因?yàn)槲鼽c(diǎn)軍校教的不僅是獲勝的算計(jì),還有今天稱為計(jì)算思維的東西。
小時(shí)候不明白,古代雙方打仗為什么主帥對(duì)決而兵士不出馬,大人們告訴我是為了說書方便,研究歷史和了解西方?jīng)Q斗歷史后才明白,不是這樣。所謂戰(zhàn)爭(zhēng),是人類的組織方式的一種形式,也是解決沖突的極端方式,與天敵之間的殺戮完全不同。人類在人力資源奇缺的古代,逐漸形成了一種行之有效的默契:講理、下棋、爭(zhēng)論、戰(zhàn)爭(zhēng),即使戰(zhàn)爭(zhēng)也最好主將決戰(zhàn),少傷及兵士,以便爭(zhēng)出勝敗保留有生力量。學(xué)過博弈論和機(jī)制設(shè)計(jì)理論后又明白,這種方式叫合作博弈,在計(jì)算機(jī)世界叫計(jì)算思維。
計(jì)算思維的老祖宗可以追溯到馮·諾依曼。馮·諾依曼體系的最重要因素是二進(jìn)制、內(nèi)存、程序和數(shù)據(jù)順序存儲(chǔ),也就是最節(jié)省和經(jīng)濟(jì)高效的模式是找到最基礎(chǔ)的變量、調(diào)用盡可能標(biāo)準(zhǔn)化和小的資源、用最標(biāo)準(zhǔn)化和簡(jiǎn)單的規(guī)則。用到兩軍對(duì)壘,就是勝和負(fù)這種最簡(jiǎn)單的變量、兩軍主將在開闊地的對(duì)決、對(duì)決之間按照規(guī)則出牌生死由命,人類形成這種制度是血的代價(jià)進(jìn)化的結(jié)果。
卡內(nèi)基梅隆大學(xué)的周以真教授將計(jì)算思維正式提高到獨(dú)立于計(jì)算機(jī)的思維模式,她定義計(jì)算思維是一系列思維活動(dòng)。實(shí)際上,我認(rèn)為計(jì)算思維是一種思考方式,是用計(jì)算機(jī)所能有效執(zhí)行的方式來對(duì)問題進(jìn)行表述并提出解決方案——這里所說的“計(jì)算機(jī)”既可以指機(jī)器,也可以指人。換句話說,計(jì)算思維也是一種解決問題的方式。
打個(gè)比方,如果兩軍交戰(zhàn),既要打敗對(duì)方,又要得到對(duì)方的財(cái)產(chǎn)還要讓對(duì)方心服口服,要怎么做?在關(guān)羽大戰(zhàn)黃忠之前,他把黃忠的情報(bào)和人品了解清楚,準(zhǔn)備好大刀,這就是預(yù)置和緩存;有人提醒關(guān)羽黃忠百發(fā)百中有可能用暗器,這就是回推;當(dāng)知道黃忠的本事后,周倉將刀磨利,將馬休息好,將盔甲準(zhǔn)備得更好,這就是線性算法;兩個(gè)人打了100回合不分勝負(fù)雙方第二天再戰(zhàn),這就是冗余性;關(guān)羽看到黃忠馬不行了讓黃忠換馬,這就是多服務(wù)器系統(tǒng)的性能模型;黃忠和關(guān)羽都不致對(duì)方于死地,這就是失敗的無關(guān)性和設(shè)計(jì)的冗余性。從計(jì)算機(jī)科學(xué)上升到計(jì)算科學(xué),變量可以是計(jì)算機(jī),也可以是人和事,人類有了這樣的高度,“理”是基于“算”而不是基于“論”,“論”容易情緒化,而“算”可以使人們的理性思維和文明的水位線不至于ISIS。
目前有很多小學(xué)、中學(xué)都在開展計(jì)算機(jī)的課程,越來越簡(jiǎn)單的適合兒童的編程語言被開發(fā)出來了。從計(jì)算思維的角度,今天學(xué)習(xí)的語言,這些孩子未來15年根本用不上,但是通過這種思維訓(xùn)練得到的計(jì)算思維本質(zhì),讓孩子更容易掌握抽象、分解和組合的能力,也就是未來編程永遠(yuǎn)不會(huì)變的原始變量。
文明要想進(jìn)步,什么是能夠抵御實(shí)用主義管用的招數(shù)不斷突破水位線的“管涌”呢?是教師的專業(yè)理論,用它守住文明的水位線,這樣即使勝負(fù)暫時(shí)偶然,勝方也不至于決口。
算計(jì)是器,器盡而道廢;計(jì)算是道,道通而器順。野蠻人算計(jì),文明人計(jì)算,教育與理論的作用在于,守衛(wèi)文明的水位線。