奧巴馬成為美國(guó)歷史上第一位寫過(guò)代碼的總體(如果小布什沒(méi)有秘密的沉迷于PHP的話)。最近,奧巴馬在白宮和幾個(gè)學(xué)生一起學(xué)習(xí)了JavaScript(最流行的Web編程語(yǔ)言)的基礎(chǔ)編程。
他寫的第一行JavaScript代碼是:
moveForward(100);
“這個(gè)F我需要大寫嗎?”奧巴馬問(wèn),他注意到JavaScript是區(qū)分大小寫的。“分號(hào)?”(這個(gè)分號(hào)不是必須的,但奧巴馬發(fā)現(xiàn)應(yīng)該養(yǎng)成良好的編碼風(fēng)格習(xí)慣。)
奧巴馬這是在Code.org教學(xué)網(wǎng)站上用電影《冰雪奇緣》游戲來(lái)學(xué)習(xí)編程。他的這一行代碼是調(diào)用了游戲中內(nèi)置的“向前移動(dòng)”函數(shù)。
JavaScript中的函數(shù)調(diào)用非常簡(jiǎn)單:寫下函數(shù)的名稱,后面跟著括弧,括弧里面是函數(shù)的參數(shù)。奧巴馬寫的第一行代碼是告訴程序“讓冰雪女王向前移動(dòng)一段距離”。因?yàn)樵谄聊簧系木嚯x是按像素算的,所以參數(shù)是整數(shù)。如果把代碼寫成moveForward(“三步”),程序就會(huì)報(bào)錯(cuò),提示給你一個(gè)不清晰的錯(cuò)誤提示,相信總統(tǒng)是無(wú)法看懂的——他應(yīng)該體會(huì)一下程序員平時(shí)編程中經(jīng)常遇到這樣的痛苦。
視頻:http://static.video.qq.com/TPout.swf?vid=k0142xfqj2t&auto=0
奧巴馬非常鼓勵(lì)大家都學(xué)習(xí)編程,他和孩子們?cè)诎讓m一起學(xué)習(xí)了一個(gè)小時(shí)。“很顯然,編程是個(gè)很困難的事情,”奧巴馬在白宮對(duì)同學(xué)們說(shuō),但他還是對(duì)孩子們提出了一些自己的建議:
編程背后的基本概念就是0和1,就這另個(gè)數(shù)字,‘是’和‘否’,它們可以通過(guò)電腦被轉(zhuǎn)換成電子信息…..程序的所有動(dòng)作都是在反復(fù)不斷的指示是0還是1,一遍又一遍,計(jì)算機(jī)的強(qiáng)大之處就在于它能以非??斓乃俣茸龃罅窟@樣的運(yùn)算…..
他說(shuō)的大概就是這個(gè)意思。
P.S. 咱們中國(guó)的國(guó)家領(lǐng)導(dǎo)人是不是也應(yīng)該代表我們這些碼農(nóng)發(fā)出一些聲音?!