
Peter Wayner 是 InfoWorld 的一名特約編輯,也是一個(gè)多產(chǎn)的作家。除了 InfoWorld 之外,他還經(jīng)常為紐約時(shí)報和連線(xiàn)雜志撰寫(xiě)文章。近日,Peter 撰寫(xiě)了一篇文章,談到了未來(lái) 15 個(gè)熱門(mén)的編程趨勢以及 15 個(gè)逐步走向衰落的技術(shù)方向,該文發(fā)表之后在技術(shù)社區中引起了較大的反響,也希望文中的觀(guān)點(diǎn)能給各位讀者帶來(lái)一些啟示。
程序員們普遍對時(shí)尚界嗤之以鼻,因為這個(gè)圈子中的趨勢就像風(fēng)一樣變幻不定。裙子忽長(cháng)忽短、顏色變來(lái)變去、領(lǐng)結時(shí)大時(shí)小。不過(guò)在技術(shù)界,精確、科學(xué)與數學(xué)卻統治著(zhù)一切。然而,這并不是說(shuō)編程沒(méi)有趨勢可言。差別在于編程的趨勢是由更高的效率、更好的可定制性以及更棒的易用性來(lái)驅動(dòng)的。新的技術(shù)會(huì )讓舊有的技術(shù)黯然失色。下面我們就來(lái)介紹一下未來(lái) 15 個(gè)熱門(mén)的編程趨勢以及 15 個(gè)逐步走向衰落的編程方向。并非人人都會(huì )同意文中的觀(guān)點(diǎn),不過(guò)編程令人著(zhù)迷之處恰恰就是快速的變化、激烈的爭論以及即時(shí)的反饋。
熱門(mén):預處理程序
冷門(mén):全語(yǔ)言棧
幾年前,如果有人創(chuàng )建了新的編程語(yǔ)言,那么他不得不自己編寫(xiě)一些程序將語(yǔ)言的代碼轉換為二進(jìn)制位。后來(lái),有人發(fā)現可以利用現有的一些工具和技術(shù)做到這一點(diǎn)?,F在,有想法的人只需編寫(xiě)一個(gè)預處理程序即可,它會(huì )將新語(yǔ)言的代碼轉換為已有的擁有大量庫和 APIs 的語(yǔ)言。
喜愛(ài)動(dòng)態(tài)類(lèi)型的家伙創(chuàng )建了 Groovy,這是一個(gè)簡(jiǎn)化版本的 Java。那些想要修復 JavaScript 的人們創(chuàng )造了 CoffeeScript。還有很多語(yǔ)言,如 Scala 和 Clojure 等,他們運行在 JVM 之上,已經(jīng)有了這么好的 JVM 了,為何還要重新發(fā)明輪子呢?
熱門(mén):JavaScript MV*框架
冷門(mén):純粹的 JavaScript 文件
很久之前,人們學(xué)習 JavaScript 的目的就是為了彈出一個(gè)警告框或是檢查表單中的 email 地址是否包含了@符號?,F在,HTML AJAX 應用已經(jīng)變得異常復雜了,沒(méi)有多少人會(huì )從頭編寫(xiě)代碼。更簡(jiǎn)單的方式是采用一個(gè)優(yōu)雅的框架,編寫(xiě)一些膠水代碼來(lái)實(shí)現業(yè)務(wù)邏輯。目前有大量的 JavaScript 框架,如 Kendo、Sencha、jQuery Mobile、AngularJS、Ember、Backbone 及 Meteor JS 等等,這些框架都可以幫助你很好地處理 Web 應用與頁(yè)面的事件與內容。
熱門(mén):CSS 框架
冷門(mén):純粹的 CSS
曾幾何時(shí),為了向網(wǎng)頁(yè)中添加一點(diǎn)活力,你需要打開(kāi) CSS 文件并加入一些諸如 font-style:italic 之類(lèi)的命令,然后再保存文件?,F在的網(wǎng)頁(yè)已經(jīng)變得非常復雜了,幾乎不可能通過(guò)這樣幾條簡(jiǎn)單的命令就能達成所愿。改變一處的顏色也許會(huì )導致其他地方的顏色顯示不正常,老話(huà)說(shuō)的好:萬(wàn)物皆有聯(lián)系。這正是 SASS 及 Compass 等 CSS 框架的用武之地,他們提供了一些編程元素,比如說(shuō)真正的變量、嵌套的塊等編程結構,這些東西在編程領(lǐng)域不是什么新玩意,不過(guò)對于設計來(lái)說(shuō)卻是一個(gè)偉大的進(jìn)步。
熱門(mén):SVG 與 Canvas
冷門(mén):Flash
過(guò)去,Flash 令人著(zhù)迷,藝術(shù)家們也都偏愛(ài)著(zhù) Flash。其渲染的效果如此漂亮,很多聰明的藝術(shù)家都使用了大量的 Flash 創(chuàng )作了不少精致的效果?,F在,JavaScript 也可以做到過(guò)去只有 Flash 才能做到的那些效果,瀏覽器制造商與開(kāi)發(fā)者們都為 Flash 的退出而歡呼雀躍。他們看到 SVG(Scalable Vector Graphics)等新格式與 DOM 層更好的集成。SVG 與 HTML 由大量的標簽構成,這對于 Web 開(kāi)發(fā)者來(lái)說(shuō)是很容易使用的。此外,Canvas 對象也提供了大量的 API 進(jìn)行繪制。這讓我們相信,已經(jīng)沒(méi)有多少繼續堅守 Flash 的理由了。
熱門(mén):大數據(不使用 Hadoop 進(jìn)行分析)
冷門(mén):大數據(使用 Hadoop)
每個(gè)人都想成為風(fēng)云人物,如果不行,那他就會(huì )換個(gè)地方讓自己脫穎而出。因此,“大數據”這個(gè)詞兒的流行也就變得不那么讓人驚奇了。有意思的是,很多問(wèn)題并沒(méi)有那么大,也沒(méi)必要使用什么大數據解決方案。當然了,像 Google 或是 Yahoo 這樣的公司會(huì )追蹤人們的 Web 瀏覽;他們擁有的數據量是非常龐大的。不過(guò)對于大多數公司來(lái)說(shuō),他們所擁有的數據量可能一個(gè)普通的 PC 就裝得下??隙ㄓ泄拘枰褂貌簧贆C器,并行運行 Hadoop,然后希望快點(diǎn)得到計算結果,不過(guò)很多公司其實(shí)并不需要這么做,他們只需要單臺機器就行,根本沒(méi)必要搞什么 Hadoop。
熱門(mén):游戲框架
冷門(mén):原生游戲開(kāi)發(fā)
曾幾何時(shí),游戲開(kāi)發(fā)意味著(zhù)招很多開(kāi)發(fā)者,從頭開(kāi)始使用C編寫(xiě)代碼。當然了,這么做的成本也是相當高的,不過(guò)看起來(lái)好像不錯?,F在,沒(méi)有人能夠承擔得起編寫(xiě)這么多代碼的代價(jià)。大多數游戲開(kāi)發(fā)者都開(kāi)始使用 Unity、Corona 或是 LibGDX 等庫來(lái)構建系統了。這樣,他們就無(wú)需再處理這些細節信息了,可以將精力放在游戲情節、故事、角色以及藝術(shù)上了。
熱門(mén):?jiǎn)雾?yè)面 Web 應用
冷門(mén):網(wǎng)站
還記得通過(guò) URL 訪(fǎng)問(wèn)只有靜態(tài)文本和圖片的網(wǎng)頁(yè)時(shí)代么?那時(shí),將所有信息放到網(wǎng)頁(yè)上就可以做一個(gè)“網(wǎng)站”了。新的 Web 應用是包含著(zhù)內容的數據庫的前端。當 Web 應用需要信息時(shí),它會(huì )從數據庫中取這些信息,然后將其顯示出來(lái),沒(méi)必要再像之前那樣使用了。數據層與展示層和格式層是完全分開(kāi)的。移動(dòng)計算的出現是一個(gè)巨大的促進(jìn)因素:?jiǎn)我坏?、響應式設計的網(wǎng)頁(yè)看起來(lái)像個(gè)應用,同時(shí)還避免了 App Store 頻繁提交審查的煩惱。
熱門(mén):移動(dòng) Web 應用
冷門(mén):原生移動(dòng)應用
假如你有一個(gè)關(guān)于移動(dòng)方面的好點(diǎn)子。你可以為 iOS、Android、Windows 8,也許還有 BlackBerry OS 各編寫(xiě)一個(gè)應用。每個(gè)應用都需要單獨一個(gè)團隊,使用不同的編程語(yǔ)言完成。開(kāi)發(fā)完成后,你還需要將應用提交到應用商店進(jìn)行審查,最后才能被用戶(hù)下載使用。此外,你還可以構建一個(gè) HTML 應用,將其放到網(wǎng)站上,應用可以運行在所有的平臺之上。如果需要做些修改,那么你無(wú)需回到應用商店,祈求能夠快些通過(guò)審查?,F在的 HTML 運行速度已經(jīng)越來(lái)越快了,它完全可以與原生應用展開(kāi)競爭,即便是那些復雜、交互非常多的應用也沒(méi)什么問(wèn)題。
熱門(mén):Android
冷門(mén):iOS
幾年前,Apple 的 App Store 還是一家獨大,不過(guò)時(shí)間改變了一切。雖然 iPhone 與 iPad 還是擁有非常多的粉絲,他們喜歡其精致、豐富的 UI,但 Android 的銷(xiāo)量卻在節節攀高。有報告顯示 70% 以上的智能手機銷(xiāo)量來(lái)自于 Android。
原因很簡(jiǎn)單,那就是價(jià)格。雖然 iOS 設備保持了一個(gè)比較高的價(jià)格,不過(guò) Android 世界中有太多的競爭者,他們所生產(chǎn)的平板價(jià)格甚至只有 iPad 價(jià)格的1/5,省錢(qián)總是硬道理嘛。除了價(jià)格之外,開(kāi)源也是一個(gè)不容小覷的因素。任何人都可以在市場(chǎng)中參與競爭,實(shí)際情況也是這樣的。有大的 Android 平板,也有小的手機;有 Android 相機,甚至還有 Android 冰箱。
熱門(mén):GPU
冷門(mén):CPU
在軟件還很簡(jiǎn)單,指令可以在一行中清楚顯示的時(shí)候,CPU 是計算機之王,因為它做了所有繁重的工作?,F在,視頻游戲中有大量并行運行的圖形計算,一塊顯卡的價(jià)格動(dòng)輒就5、600 美金,一些執著(zhù)的玩家甚至會(huì )使用多塊顯卡。這甚至比很多一般的 PC 還要貴,除了游戲玩家外,計算機科學(xué)家們也將很多并行應用轉到 GPU 上運行,速度比之前快了百倍以上。
熱門(mén):GitHub
冷門(mén):簡(jiǎn)歷
沒(méi)錯,你可以通過(guò)看書(shū)等方式來(lái)學(xué)習,不過(guò),閱讀實(shí)際的代碼卻更加直觀(guān)和有意義。程序員是否寫(xiě)了足夠好的注釋?zhuān)渴欠窕〞r(shí)間將大的類(lèi)拆分成若干各司其責的小類(lèi)?架構是否還有擴展的空間?這些問(wèn)題都可以通過(guò)查看代碼得到答案。
這也是為何現在在找工作時(shí)有過(guò)開(kāi)源項目開(kāi)發(fā)經(jīng)歷會(huì )變得更加吃香的原因所在。從私有項目中分享代碼是比較困難的,不過(guò)開(kāi)源項目可以走進(jìn)每個(gè)人的生活。
熱門(mén):租賃
冷門(mén):購買(mǎi)
以前,公司會(huì )建立自己的數據中心、雇傭專(zhuān)門(mén)的人來(lái)維護他們所購買(mǎi)的計算機。時(shí)至今日,很多公司開(kāi)始租賃計算機、數據中心、雇員,甚至按照小時(shí)數來(lái)租賃軟件。這是個(gè)非常好的做法,也會(huì )為公司節省很多成本;同時(shí),還會(huì )保證計算能力。
熱門(mén):Web 界面
冷門(mén):IDEs
很久之前,人們使用命令行編譯器。后來(lái),有人將其集成到了編輯器和其他工具當中,創(chuàng )造出了 IDE?,F在,IDE 有被基于瀏覽器的工具所替代的趨勢。在基于瀏覽器的工具中,你可以編寫(xiě)代碼、創(chuàng )建系統。如果不喜歡 WordPress 的工作方式,那么你可以通過(guò)它自帶的編輯器修改代碼并立即生效。你可以通過(guò)微軟的 Azure 編寫(xiě) JavaScript 膠水代碼。這些系統基本上都沒(méi)有提供很好的調試環(huán)境,而且在編輯生產(chǎn)代碼時(shí)也存在著(zhù)一定的風(fēng)險,不過(guò)這個(gè)想法卻是非常棒的。
熱門(mén):Node.js
冷門(mén):JavaEE、Ruby on Rails 及 PHP
服務(wù)器的世界總是依賴(lài)于各種線(xiàn)程模型,不過(guò)這種方式會(huì )導致程序員所編寫(xiě)的各種低效、不負責任的代碼影響到操作系統的效率。無(wú)論程序員編寫(xiě)的代碼有多么差勁,操作系統總是會(huì )在各個(gè)線(xiàn)程間切換,從而平衡整體性能。
Node.js 帶來(lái)了 JavaScript 回調這種編程模型,代碼運行速度也絕對夠快。這種一開(kāi)始只是用于彈出警告框的玩具語(yǔ)言的變化超出了很多人的想象。突然之間,創(chuàng )建新線(xiàn)程的開(kāi)銷(xiāo)變得很顯著(zhù)了,這時(shí) Node.js 來(lái)了。如果程序員代碼寫(xiě)的不好就會(huì )出現問(wèn)題,不過(guò)讓程序員清楚了解資源限制有助于他們編寫(xiě)出更快的代碼。
Node.js 的世界也因讓瀏覽器與服務(wù)器之間保持和諧共處而獲益匪淺。同樣的代碼既可以運行在瀏覽器端,也可以運行在服務(wù)器端,開(kāi)發(fā)者可以在兩端快速移動(dòng),也可以更好地完成功能。因此,Node.js 已經(jīng)成為互聯(lián)網(wǎng)界最炙手可熱的技術(shù)之一。
熱門(mén):Hackerspaces
冷門(mén):大學(xué)
一個(gè)是 4 年 250,000 美金,一個(gè)是每月 50 美金,如果提前支付還有折扣。Hackerspaces 正在不斷驅動(dòng)著(zhù)創(chuàng )新,同時(shí)又沒(méi)有大學(xué)那么多的開(kāi)銷(xiāo)。他們在創(chuàng )造著(zhù)社交網(wǎng)絡(luò ),影響著(zhù)創(chuàng )業(yè)公司,沒(méi)有官僚、沒(méi)有政治。其課程不需要持續整個(gè)學(xué)期,這種特性非常適合于快速變化的技術(shù)世界。
聯(lián)系客服