15個熱門的程式設計趨勢及15個逐步走向衰落的程式設計方向

infoq發表於2014-02-06

  Peter Wayner是InfoWorld的一名特約編輯,也是一個多產的作家。除了InfoWorld之外,他還經常為紐約時報和連線雜誌撰寫文章。近日,Peter撰寫了一篇文章,談到了未來15個熱門的程式設計趨勢以及15個逐步走向衰落的技術方向,該文發表之後在技術社群中引起了較大的反響,也希望文中的觀點能給各位讀者帶來一些啟示。

  程式設計師們普遍對時尚界嗤之以鼻,因為這個圈子中的趨勢就像風一樣變幻不定。裙子忽長忽短、顏色變來變去、領結時大時小。不過在技術界,精確、科學與數學卻統治著一切。然而,這並不是說程式設計沒有趨勢可言。差別在於程式設計的趨勢是由更高的效率、更好的可定製性以及更棒的易用性來驅動的。新的技術會讓舊有的技術黯然失色。下面我們就來介紹一下未來15個熱門的程式設計趨勢以及15個逐步走向衰落的程式設計方向。並非人人都會同意文中的觀點,不過程式設計令人著迷之處恰恰就是快速的變化、激烈的爭論以及即時的反饋。

  熱門:預處理程式

  冷門:全語言棧

  幾年前,如果有人建立了新的程式語言,那麼他不得不自己編寫一些程式將語言的程式碼轉換為二進位制位。後來,有人發現可以利用現有的一些工具和技術做到這一點。現在,有想法的人只需編寫一個預處理程式即可,它會將新語言的程式碼轉換為已有的擁有大量庫和APIs的語言。

  喜愛動態型別的傢伙建立了Groovy,這是一個簡化版本的Java。那些想要修復JavaScript的人們創造了CoffeeScript。還有很多語言,如Scala和Clojure等,他們執行在JVM之上,已經有了這麼好的JVM了,為何還要重新發明輪子呢?

  熱門:JavaScript MV*框架

  冷門:純粹的JavaScript檔案

  很久之前,人們學習JavaScript的目的就是為了彈出一個警告框或是檢查表單中的email地址是否包含了@符號。現在,HTML AJAX應用已經變得異常複雜了,沒有多少人會從頭編寫程式碼。更簡單的方式是採用一個優雅的框架,編寫一些膠水程式碼來實現業務邏輯。目前有大量的JavaScript框架,如Kendo、Sencha、jQuery Mobile、AngularJS、Ember、Backbone及Meteor JS等等,這些框架都可以幫助你很好地處理Web應用與頁面的事件與內容。

  熱門:CSS框架

  冷門:純粹的CSS

  曾幾何時,為了向網頁中新增一點活力,你需要開啟CSS檔案並加入一些諸如font-style:italic之類的命令,然後再儲存檔案。現在的網頁已經變得非常複雜了,幾乎不可能通過這樣幾條簡單的命令就能達成所願。改變一處的顏色也許會導致其他地方的顏色顯示不正常,老話說的好:萬物皆有聯絡。這正是SASS及Compass等CSS框架的用武之地,他們提供了一些程式設計元素,比如說真正的變數、巢狀的塊等程式設計結構,這些東西在程式設計領域不是什麼新玩意,不過對於設計來說卻是一個偉大的進步。

  熱門:SVG與Canvas

  冷門:Flash

  過去,Flash令人著迷,藝術家們也都偏愛著Flash。其渲染的效果如此漂亮,很多聰明的藝術家都使用了大量的Flash創作了不少精緻的效果。現在,JavaScript也可以做到過去只有Flash才能做到的那些效果,瀏覽器製造商與開發者們都為Flash的退出而歡呼雀躍。他們看到SVG(Scalable Vector Graphics)等新格式與DOM層更好的整合。SVG與HTML由大量的標籤構成,這對於Web開發者來說是很容易使用的。此外,Canvas物件也提供了大量的API進行繪製。這讓我們相信,已經沒有多少繼續堅守Flash的理由了。

  熱門:大資料(不使用Hadoop進行分析)

  冷門:大資料(使用Hadoop)

  每個人都想成為風雲人物,如果不行,那他就會換個地方讓自己脫穎而出。因此,“大資料”這個詞兒的流行也就變得不那麼讓人驚奇了。有意思的是,很多問題並沒有那麼大,也沒必要使用什麼大資料解決方案。當然了,像Google或是Yahoo這樣的公司會追蹤人們的Web瀏覽;他們擁有的資料量是非常龐大的。不過對於大多數公司來說,他們所擁有的資料量可能一個普通的PC就裝得下。肯定有公司需要使用不少機器,並行執行Hadoop,然後希望快點得到計算結果,不過很多公司其實並不需要這麼做,他們只需要單臺機器就行,根本沒必要搞什麼Hadoop。

  熱門:遊戲框架

  冷門:原生遊戲開發

  曾幾何時,遊戲開發意味著招很多開發者,從頭開始使用C編寫程式碼。當然了,這麼做的成本也是相當高的,不過看起來好像不錯。現在,沒有人能夠承擔得起編寫這麼多程式碼的代價。大多數遊戲開發者都開始使用Unity、Corona或是LibGDX等庫來構建系統了。這樣,他們就無需再處理這些細節資訊了,可以將精力放在遊戲情節、故事、角色以及藝術上了。

  熱門:單頁面Web應用

  冷門:網站

  還記得通過URL訪問只有靜態文字和圖片的網頁時代麼?那時,將所有資訊放到網頁上就可以做一個“網站”了。新的Web應用是包含著內容的資料庫的前端。當Web應用需要資訊時,它會從資料庫中取這些資訊,然後將其顯示出來,沒必要再像之前那樣使用了。資料層與展示層和格式層是完全分開的。移動計算的出現是一個巨大的促進因素:單一的、響應式設計的網頁看起來像個應用,同時還避免了App Store頻繁提交審查的煩惱。

  熱門:移動Web應用

  冷門:原生移動應用

  假如你有一個關於移動方面的好點子。你可以為iOS、Android、Windows 8,也許還有BlackBerry OS各編寫一個應用。每個應用都需要單獨一個團隊,使用不同的程式語言完成。開發完成後,你還需要將應用提交到應用商店進行審查,最後才能被使用者下載使用。此外,你還可以構建一個HTML應用,將其放到網站上,應用可以執行在所有的平臺之上。如果需要做些修改,那麼你無需回到應用商店,祈求能夠快些通過審查。現在的HTML執行速度已經越來越快了,它完全可以與原生應用展開競爭,即便是那些複雜、互動非常多的應用也沒什麼問題。

  熱門:Android

  冷門:iOS

  幾年前,Apple的App Store還是一家獨大,不過時間改變了一切。雖然iPhone與iPad還是擁有非常多的粉絲,他們喜歡其精緻、豐富的UI,但Android的銷量卻在節節攀高。有報告顯示70%以上的智慧手機銷量來自於Android。

  原因很簡單,那就是價格。雖然iOS裝置保持了一個比較高的價格,不過Android世界中有太多的競爭者,他們所生產的平板價格甚至只有iPad價格的1/5,省錢總是硬道理嘛。除了價格之外,開源也是一個不容小覷的因素。任何人都可以在市場中參與競爭,實際情況也是這樣的。有大的Android平板,也有小的手機;有Android相機,甚至還有Android冰箱。

  熱門:GPU

  冷門:CPU

  在軟體還很簡單,指令可以在一行中清楚顯示的時候,CPU是計算機之王,因為它做了所有繁重的工作。現在,視訊遊戲中有大量並行執行的圖形計算,一塊顯示卡的價格動輒就5、600美金,一些執著的玩家甚至會使用多塊顯示卡。這甚至比很多一般的PC還要貴,除了遊戲玩家外,電腦科學家們也將很多並行應用轉到GPU上執行,速度比之前快了百倍以上。

  熱門:GitHub

  冷門:簡歷

  沒錯,你可以通過看書等方式來學習,不過,閱讀實際的程式碼卻更加直觀和有意義。程式設計師是否寫了足夠好的註釋?是否花時間將大的類拆分成若干各司其責的小類?架構是否還有擴充套件的空間?這些問題都可以通過檢視程式碼得到答案。

  這也是為何現在在找工作時有過開源專案開發經歷會變得更加吃香的原因所在。從私有專案中分享程式碼是比較困難的,不過開源專案可以走進每個人的生活。

  熱門:租賃

  冷門:購買

  以前,公司會建立自己的資料中心、僱傭專門的人來維護他們所購買的計算機。時至今日,很多公司開始租賃計算機、資料中心、僱員,甚至按照小時數來租賃軟體。這是個非常好的做法,也會為公司節省很多成本;同時,還會保證計算能力。

  熱門:Web介面

  冷門:IDEs

  很久之前,人們使用命令列編譯器。後來,有人將其整合到了編輯器和其他工具當中,創造出了IDE。現在,IDE有被基於瀏覽器的工具所替代的趨勢。在基於瀏覽器的工具中,你可以編寫程式碼、建立系統。如果不喜歡WordPress的工作方式,那麼你可以通過它自帶的編輯器修改程式碼並立即生效。你可以通過微軟的Azure編寫JavaScript膠水程式碼。這些系統基本上都沒有提供很好的除錯環境,而且在編輯生產程式碼時也存在著一定的風險,不過這個想法卻是非常棒的。

  熱門:Node.js

  冷門:JavaEE、Ruby on Rails及PHP

  伺服器的世界總是依賴於各種執行緒模型,不過這種方式會導致程式設計師所編寫的各種低效、不負責任的程式碼影響到作業系統的效率。無論程式設計師編寫的程式碼有多麼差勁,作業系統總是會在各個執行緒間切換,從而平衡整體效能。

  Node.js帶來了JavaScript回撥這種程式設計模型,程式碼執行速度也絕對夠快。這種一開始只是用於彈出警告框的玩具語言的變化超出了很多人的想象。突然之間,建立新執行緒的開銷變得很顯著了,這時Node.js來了。如果程式設計師程式碼寫的不好就會出現問題,不過讓程式設計師清楚瞭解資源限制有助於他們編寫出更快的程式碼。

  Node.js的世界也因讓瀏覽器與伺服器之間保持和諧共處而獲益匪淺。同樣的程式碼既可以執行在瀏覽器端,也可以執行在伺服器端,開發者可以在兩端快速移動,也可以更好地完成功能。因此,Node.js已經成為網際網路界最炙手可熱的技術之一。

  熱門:Hackerspaces

  冷門:大學

  一個是4年250,000美金,一個是每月50美金,如果提前支付還有折扣。Hackerspaces正在不斷驅動著創新,同時又沒有大學那麼多的開銷。他們在創造著社交網路,影響著創業公司,沒有官僚、沒有政治。其課程不需要持續整個學期,這種特性非常適合於快速變化的技術世界。

相關文章