編程已死 碼農永生
隨著軟件行業的(de)發(fa)展,編程已經變(bian)得不再(zai)那(nei)(nei)么(me)圣(sheng)神。借助一(yi)(yi)(yi)(yi)些(xie)**的(de)開發(fa)平(ping)臺(tai),沒有經過專業培訓的(de)人(ren)也可以編寫一(yi)(yi)(yi)(yi)些(xie)簡(jian)單的(de)程序。為此我們近年來偶(ou)爾(er)會聽到一(yi)(yi)(yi)(yi)些(xie)人(ren)大喊(han)“程序員下(xia)崗”之類的(de)話。作為一(yi)(yi)(yi)(yi)個計算機畢業的(de)人(ren),我并不認同“程序員下(xia)崗”這(zhe)種(zhong)說法(fa)(fa),畢竟(jing)程序在很久的(de)未來不能自(zi)動生成,還是需要(yao)相關的(de)人(ren)來完成“堆砌”。而那(nei)(nei)些(xie)技術大牛自(zi)然(ran)要(yao)去研究(jiu)更好的(de)算法(fa)(fa)和(he)開發(fa)功能更強大的(de)平(ping)臺(tai)。老外的(de)看法(fa)(fa)又(you)是什么(me)呢?請讀下(xia)文。
多(duo)年以(yi)來我(wo)一(yi)直想掌握(wo)VBA(編(bian)者注:VBA是一(yi)種Visual Basic的宏語(yu)言,主要(yao)能(neng)用來擴(kuo)展Windows的應用程式功能(neng),尤其是Microsoft Office軟件),但是由于(yu)各種原因而導致拖延(yan)擱置。其實(shi)它并不是一(yi)門難以(yi)學習掌握(wo)的語(yu)言,只是我(wo)的工作并沒(mei)有涉及(ji)到相關內容,騰不出時(shi)間。昨晚,我(wo)在(zai)Twitter上發現了一(yi)個(ge)DataNitro的連接(jie),五分鐘后我(wo)掌握(wo)了“VBA”。
DataNitro是(shi)一個Excel插件,它允許***在Excel里運行(xing)Python腳本。由(you)于(yu)我對(dui)Python是(shi)有(you)所(suo)了解的,因(yin)此我再也不用(yong)學(xue)VBA了。其(qi)實我并沒有(you)在5分鐘內學(xue)會VBA,我只是(shi)已經(jing)掌(zhang)握了繞(rao)過它而達到相同效果(guo)的方(fang)法。對(dui)于(yu)我來說,這(zhe)跟掌(zhang)握了VBA沒有(you)什么差別。
大家還(huan)記得《黑(hei)客帝國》里面往(wang)大腦植入功(gong)夫(fu)的(de)鏡頭嗎?DataNitro做了類似(si)的(de)事情。它免(mian)除(chu)了我原本要在VBA上花費數百小時學習、編碼、調試和排錯的(de)過程(cheng)。
我并不是(shi)在(zai)為DataNitro打廣(guang)告,我只是(shi)想談(tan)及編程(cheng)界的(de)(de)(de)大(da)致發(fa)展方向而(er)已。前幾天(tian)Brooklyn Bridge Ventures公司的(de)(de)(de)Charlie O’Donnell在(zai)博客(ke)上發(fa)表了一(yi)篇名叫《*后的(de)(de)(de)程(cheng)序員》的(de)(de)(de)文章,在(zai)文中他(ta)預測前段開發(fa)平臺(tai)將會淘汰整個軟(ruan)件開發(fa)部門。隨(sui)著這些(xie)平臺(tai)的(de)(de)(de)不斷增加和傳播,強(qiang)大(da)開發(fa)工(gong)具使得編碼(ma)工(gong)作越(yue)來越(yue)少,從而(er)更多的(de)(de)(de)人可以參與其中。
碼農會因此而消失嗎?
這取(qu)決于你如何定義碼農。如果說那些每天花費15個小時在(zai)黑乎乎的房間堆砌(qi)0和1代碼的人才算程序員,那么我覺得Charlie的推測是(shi)對的。這種職業會逐漸遠去,因為隨著“前段(duan)”平臺的壯(zhuang)大,很(hen)多需要大量編(bian)碼的工作項目(mu)將會被(bei)取(qu)代。
在某種程度上(shang),我也(ye)是(shi)一個碼(ma)農。因為(wei)這些平臺也(ye)使(shi)得(de)我在沒(mei)有(you)經過任何正規的(de)訓(xun)練下(xia)便可(ke)以快速編寫(xie)軟件。我認為(wei)碼(ma)農的(de)數量很在很長的(de)一段時(shi)間里會(hui)保(bao)持增長。
在MS-DOS那個時(shi)代,為了(le)(le)寫(xie)一(yi)個簡答的(de)程(cheng)序(xu),編(bian)程(cheng)者(zhe)需要經過一(yi)個復雜的(de)曲線學習(xi)過程(cheng)。隨著(zhu)Windows和蘋果系(xi)統的(de)推出,編(bian)程(cheng)相對來說就(jiu)變得簡單了(le)(le)一(yi)些。同樣的(de)道理,各(ge)種開發平臺(tai)大大簡化了(le)(le)編(bian)程(cheng)過程(cheng),越(yue)來越(yue)多的(de)人可以輕松上手(shou),再也不需要花費3-6個月(yue)的(de)時(shi)間去學習(xi)VBA。
科學的(de)進步并沒有讓科學家下崗。同樣的(de)道理,編(bian)程平臺的(de)發展可以(yi)使得“真正(zheng)的(de)程序(xu)員”專(zhuan)注于更復雜、更有挑戰的(de)重大項(xiang)目上。話(hua)說回(hui)來,這不是(shi)專(zhuan)業(ye)程序(xu)員一直(zhi)所希望的(de)嗎?