關于未來編程發展趨勢的九大預測

jopen 8年前發布 | 16K 次閱讀 軟件開發

51CTO.com快譯 】一部分科學家認為時間一直在以恒定的速率向未來推移,但也有更為睿智的人們覺得在接近光速的條件下,我們熟悉的一切都將發生改變。不過這一切都無法解釋技術世界近年來面對的快速變化趨勢。這種變化每時每刻都在加快,而我們似乎拼盡全力也難以趕上。

關于未來編程發展趨勢的九大預測

如果大家希望弄清自己該把開發工作的賭注押在哪項趨勢身上,那么著眼于未來五年,這更像是一項撞大運的任務——而非真正的技術活兒。對高科技的未來前景做出預測幾乎是不可能的,而創新造成的影響也讓一切技能與工具在解決這個問題時都變得非常無力。不過其發展腳步偶爾也會顯露端倪,讓我們從目前的技術場景龜殼當中搖出幾個銅錢,從而透過迷霧預見編程領域的未來曙光。

在這里,我們整理出了一份關于編程行業未來發展趨勢的預測清單,其主要立足于當下已然出現的變革跡象。當然,我們無法保證每項猜測都百分之百準確:事實上,也沒人能做到這一點。其中大部分趨勢將在未來幾年中逐步顯現,而且可以作為一種發展路線圖以指導我們搶先一步為未來做好規劃。

預測一號:REST將統治物聯網——至少在起步階段

REST協議已經在Web領域擁有多年統治地位,并將隨著恒溫器、門鎖以及廚房裝飾品等小物件接入互聯網并作為數據包交換對象存在而進一步鞏固其重要作用。畢竟除了REST,這些小東西不太可能采用SCSI、USB或者SATA等其它對接方式,對吧?

其理由也顯而易見。程序員們熱愛REST的簡單特性。歸功于其基礎架構,REST易于理解且能夠相對簡單地進行調試。我們幾乎可以對以文本格式存在的全部數據進行查看,并輕松了解各裝置的當前運行狀態。毫無疑問,各類新型安保攝像頭、微波爐或者旋轉型燙發器都將由Nginx負責控制并運行在端口80之上,并利用HTML與CSS報告與之相關的全部信息。

預測二號:二進制協議將再度崛起

在JSON軟件包中利用REST協議進行數據的往來傳遞確實非常簡單,至少相較于傳統XML數據及其90%的標簽載荷而言是如此,但也有一些追求終極高效目標的程序員更傾向于直接使用二進制數據字符串,從而保證其能夠直接通過JSON正確顯示。畢竟另一端要做的也無非是解析字符串再將其以字節方式發送回來。那么為什么不干脆直接發送字節呢——特別是物聯網在每次通信時只需要傳輸極小量數據字節的情況下?

開發更多二進制協議將是一個艱難的過程。HTTP標準似乎天然為文本而生。很多程序員在使用專有型二進制協議時碰了一鼻子灰,因為它們只能由專門的庫進行解包,而且有時候根本達不到預期的效果。JSON與REST的開放性已經使其全面勝出,但這并不是說以開放方式實現的二進制協議就不能作為開放標準存在。物聯網將生成前所未有的龐大數據總量,而很多設備將使用大量小規模數據包并要求這些數據包采取緊湊的編碼形式。即使性能表現如此重要,程序員們必須要想辦法尋求更多二進制方案來實現數據包的傳輸。

預測三號:視頻令HTML失去生存空間

曾幾何時,我們在網上沖浪、在不同網站之間往來跳轉、瀏覽大量文本并點擊無數超鏈接以獲取更多詳盡內容。但如今,我們更傾向于拿出數小時甚至數天來觀看視頻內容,躺在沙發上昏昏沉沉并在不知不覺中等待其播放完畢。即使是在抄起鍵盤的時候,我們實際要做的也只是在搜索框中輸入“第x季”并等待Netflix返回正確的結果。互聯網正在演變成由電視節目以及視頻流所構成的新形式,其取代了以往枯燥的文本顯示形式并源源不斷涌來,允許我們在觀看的同時走神甚至不慎睡上一覺兒。

事實上,甚至有一部分人認為互聯網將徹底令電視失去用武之地。人們更樂于通過某些網站觀看電視節目片段。說實話,我就不知道《周六夜現場》這檔長壽的娛樂節目現在到底是在每周六晚播放,抑或變成了定期舉辦的一場現場狂歡——不過我很清楚的是,劇集中的每段內容都在網上提供單獨的剪輯選項。經典的開場獨白是否還在?是否仍設有嘉賓主持?誰知道呢,反正我們只挑自己喜歡的部分看。

不過總結來講,除了觀看實時體育賽事之外,電視和客廳對于我們幾乎完全失去了吸引力。只需點一點,我們就能得到全部想要的結果。也許下一代視頻應用程序將增加新的內容篩選層,并對現有工具做出進一步改善。Flash的消亡與HTML 5的崛起可能讓視頻剪輯同HTML之間的結合變成現實。也許程序員們可以利用這些機會拿出更加激動人心的成果。不過在此之前,用戶仍將像祖父母那代人一樣正常觀看電視節目——只不過視頻來源由BBC或者PBS等國家級廣播公司變成了互聯網流媒體巨頭。

預測四號:智能手機能實現一切——但就是不能打電話

人們還會通過智能手機進行呼叫嗎?我們發送短信、閱讀郵件、瀏覽網站——但這一切還僅僅是開始。這塊小小的矩形屏幕已經徹底改變了我們過去幾十年中逐漸養成的生活習慣,而一切變更都非常有趣。我們開始為手機上的麥克風、攝像頭以及加速度計等各類傳感裝置找到極為巧妙的用途,這意味著任何業務或者習慣都有可能因此遭到顛覆。

大家不妨想想原先我們需要將病癥狀況交給醫生,然后在辦公室外坐等好幾個小時。目前正有數以百計的初創企業正尋找辦法將智能手機同醫療設備相對接。麥克風可以用于測量心率,攝像頭能夠探查我們喉嚨部位的狀況,加速度計則可以追蹤我們的鍛煉情況。所有這一切都將以數據的形式與云端對接,保證醫生可以通過這些信息了解到我們的生活習慣以及現有病癥。

是的,下一代智能設備將把這一切視為基礎性功能。導航應用除了進行路線定制與規劃之外,還能夠完成其它多種任務,包括控制汽車。鍛煉追蹤應用則成為一類能夠追蹤我們身體全部健康狀況的工具——從睡眠到工作皆涵蓋其中。另外,有些廠商可能還會開發出一些新的好玩應用,從而幫助我們以更具樂趣的方式進行電話呼叫。

預測五:更大、更好的數據庫將主宰一切

誠然,搜索引擎的主要功能在于檢索網頁,但現在已經出現了能夠直接檢索整個世界的數據庫——這要歸功于日益發展的新一代位置識別應用與自動駕駛汽車。Waze等應用能夠追蹤其全部用戶的動向,為開發商及用戶提供世界范疇內的當前地圖,而不必再勞煩現場工作人員瞇著眼睛用什么激光測距工具制圖或者根據航拍照片進行繪制。如果某條道路遭遇交通堵塞,他們會立刻得到消息。如果一頭牛賴在道中間不肯挪動,他們會立刻得到消息。如果土木工程師完成了一條新道路的建造,那么人們也能馬上知悉此事。

由數據庫提供的如此詳盡的細節信息確實令人驚嘆。舉例來說,自動駕駛汽車將需要了解路燈、自動售報機以及各消防栓的具體位置,同時做好準備駛上極少有人知曉的路段以避開交通擁堵。這些數據當中充滿了值得探究的可能性,其遠遠超出了自動駕駛汽車本身。城市規劃者將能夠隨時調控交通流量以提升出行效率,而路燈也將自行上報當前狀況以降低維護成本。是的,警方也能夠掌握大量行人數據從而快速對緊急事件做出響應。

在不久的未來,我們的數據庫將能夠記錄全國范圍內每個坑洼的具體位置。那么城市能否解決數量如此眾多的問題?對于我們這代人來說可能比較難,但機器人已經出現在了可以預見的未來,到時候交給它們處理即可。

預測六號:JavaScript仍將廣泛存在,但人們不再進行“JS編程”

如果我們不編寫JavaScript代碼,那么這項工作該由誰來完成?轉碼機器人,它們負責這項任務。我們可以利用自己熟悉的任何編程語言編寫代碼,而轉碼機器人將能夠把它們轉化為瀏覽器或者Node.js能夠理解的內容。目前GitHub上已經開始有越來越多的代碼無法以不經編譯的方式執行。

在這方面,受影響最深的當數“方言”眾多的編程語言,例如CoffeeScript——這類代碼過去往往會給其他程序員帶來嚴重困擾。目前CoffeeScript的衍生版本多達幾十種,其中包括Coco、IcedCoffeeScript以及CoffeeScript II:可汗之怒~但這一切還僅僅是開始,聰明的程序員們已經編寫出更多面向各類編程語言的轉碼方案,包括Cobol、Java、Lisp以及C等等。它們都能夠在經過翻譯以及旨在實現快速交付與解析的優化過程之后直接運行在我們的瀏覽器當中。如果大家能夠利用自己最熟悉的語言編寫程序,并由機器人管家對其進行翻譯,那又何必非要使用JavaScript作為編程手段呢?

預測七號:PHP將卷土重來以對抗Node.js

……不過遺留下來的傳統應用還是需要進行重新編寫。幾年之前,PHP幾乎完全無法在服務器領域與Node.js乃至JavaScript相匹敵。目前這種狀況也許仍然存在,不過PHP接下來很可能卷土重來。PHP 7以及HipHop虛擬機等剛剛推出的最新工具版本都能夠提供令人印象深刻的性能表現。考慮到這一點,WordPress以及Drupal等代碼庫在運行速度上很可能提升30%、40%、50%甚至是100%。

但這并不會改變JavaScript在各類項目當中的優勢地位,例如其能夠確保同樣的代碼順利運行在瀏覽器以及服務器之上,但這確實能夠讓一部分出于性能考量而放棄PHP并投入Node.js懷抱的開發人員回心轉意。這些陳舊平臺也許真能在未來煥發新的生機。

預測八號:每個人都能夠編程——只不過很少有人編寫“真正的代碼”

教育項目的大量普及旨在教會每個人如何編寫軟件。2014年12月8日,美國總統奧巴馬從維護中東局勢以及打擊恐怖主義的繁忙公務當中抽出了一個小時,學習了如何編寫一行代碼。也許他由此積累到的技術能力可以幫助其“奧巴馬醫改”網站運行得更加順暢?

我們確實應當重視編程教學工作,說不定哪天我們養的小狗或者鸚鵡都能學會軟件開發。而對于真正的程序員們,最好的辦法就是報以微笑與鼓勵。新生代當中越多人了解編程,就會有越多人深刻意識到打理這些數字、API以及其它任何相關元素的難度所在。像奧巴馬總統那樣編寫一行象征性的代碼當然很簡單,可要以同樣的方式構建起一套由上億行代碼構成的完整系統則極為困難——相信每位對編程有所了解的人都能意識到這一點。

也許其中會有一些人真正掌握了語言及開發技能,但相信絕大多數人都會扯著自己的頭發陷入深深的絕望。任何人都能夠寫出一套循環,但只有極少數人能夠根據需求選擇合適的循環。每個人都能把木料鋸開,但只有木匠才能做出漂亮的家具并建起堅固的住房。

預測九號:準備好迎接新的折磨

那時候全民編程培訓已經實現,而這些拿出幾個小時弄明白了一丁點編程原理的家伙開始插手我們的日常工作了。

“你是打算在這兒用變量嗎?”老板走過來插言。“你覺得用常量是不是更合適?你是不是打算在這里用循環?”

這時候各位程序員兄弟姐妹們只要微笑,微笑就好。

原文標題:9 predictions for the future of programming

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

來自: http://developer.51cto.com/art/201601/504498.htm

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!