全民編程:每個(gè)人都應(yīng)知道編程知識(shí)
我很吃驚在Hacker News的頭版頭條上竟然出現(xiàn)了一篇叫做《別學(xué)編程》的文章,而更讓我吃驚的是文章的作者竟然是CodingHorror的創(chuàng)辦人、StackOverflow上大名鼎鼎的Jeff Atwood。
Jeff認(rèn)為,并不是每個(gè)人都需要知道編程知識(shí),事實(shí)上,這世界上不需要更多的水平一般的程序員。所以,他對(duì)最近興起的像CodeYear這樣的旨在全民編程知識(shí)普及的運(yùn)動(dòng)并不熱心。
因?yàn)镴eff 使用了我設(shè)計(jì)的CodeYear網(wǎng)站來(lái)說(shuō)明他的觀點(diǎn),我想有必要對(duì)此做些反駁。
我認(rèn)為每個(gè)人都應(yīng)該學(xué)習(xí)編程,有一個(gè)簡(jiǎn)單的理由;知道如何編程是一種強(qiáng)大的能力。
我并不認(rèn)為這世界上還存在有很多的其它的知識(shí)技能可以像知道如何搭建一個(gè)網(wǎng)站那樣讓你從無(wú)到有創(chuàng)建出一個(gè)東西并以此接觸到如此多的人。
就像上周,我冒出來(lái)一個(gè)想法,然后用2天時(shí)間建起了一個(gè)網(wǎng)站。僅在幾個(gè)小時(shí)內(nèi)就有1萬(wàn)多人訪問(wèn)它。
想想吧:我做的東西觸及到了1萬(wàn)多個(gè)活生生的人,而且對(duì)他們的生活產(chǎn)生了影響(或多或少)。如果不知道編程,一個(gè)人可能永遠(yuǎn)做不到這樣。
什么是編程?
也許你會(huì)爭(zhēng)辯:我并非一定要知道如何去開發(fā)一個(gè)網(wǎng)站。你也許還會(huì)認(rèn)為用WordPress搭建一個(gè)網(wǎng)站不能算是“編程”。
但是,從一個(gè)不懂技術(shù)的人的角度上看,用Wordpress搭建一個(gè)網(wǎng)站和用Ruby on Rails創(chuàng)建一個(gè)網(wǎng)站具有相同的復(fù)雜度。
“學(xué)習(xí)編程”并不是說(shuō)要你成為下一個(gè)托馬斯.李納斯(Linus Torvalds)那樣的人,就像是“學(xué)會(huì)做飯”并不是意味著你要開一個(gè)3星級(jí)的餐館。
它只是簡(jiǎn)單的表示你對(duì)計(jì)算機(jī)的工作原理有一些基本的掌握,而不是讓一個(gè)會(huì)說(shuō)話的回形針告訴你怎么做(也許你最終能學(xué)會(huì)如何編程開發(fā)自己會(huì)說(shuō)話的回形針)。
我們首先要做的是告訴人們學(xué)會(huì)編程不是那么難,在他們的腦子里輸入這樣一種觀點(diǎn)能讓他們更容易學(xué)成。我相信這才是像CodeYear這樣的網(wǎng)站想要做的事,我認(rèn)為這是一個(gè)非常有意義而且能實(shí)現(xiàn)目標(biāo)。
英文原文:Please Learn to Code