未來編程的9大猜想

jopen 9年前發布 | 8K 次閱讀 程序員

英文原文:9 predictions for the future of programming 

科學家稱時間是勻速前行的,智者稱萬物以光速而變化——然而科技的瞬息萬變仍舊無從求解,一眨眼,又是另一番景象了。

很多人巴不得能夠看透未來,但未來五年頂多是猜測而已。預測科技發展簡直是天方夜譚,因為創新的影響力足以淘汰當下的很多技能和工具。話雖這么說,我們還是瞅瞅這命運的茶葉渣子,或許能幫我們撥開迷霧,瞥一眼未來,看看科技到那時究竟是什么樣的。

站在科技成就的前沿,我們斗膽展望未來。并非所有展望都會實現,甚至連驚喜都談不上——其實很多趨勢在數年前就“小荷才露尖尖角”了。希望能夠為開發者們提供有價值的參考,幫助提升針對未來變化的反應能力,快速做出規劃。

1. REST 一開始就統領了 IoT

REST 協議統領了整個網絡。隨著恒溫器、門鎖、廚房用具等爭先融入日趨成熟的 IoT(物聯網),這樣的趨勢還將繼續。物聯網就是物聯網,可不是別的什么的 SCSI、USB 或 SATA 聯網。

原因很簡單,REST 協議的簡潔深受程序員青睞,其基礎架構使得 REST 協議簡單好用,找代碼漏洞也變得更容易了。還沒有任何協議能像這樣用文字形式儲存數據,一目了然。當嶄新的監控攝像機、微波爐或旋轉式鼻毛修剪器隨著端口 80 上的 Nginx 一同啟動,HTML 和 CSS 上設備動態源源不斷更新時,千萬別大驚小怪。

2. 二進制協議再崛起

基于 REST 協議在 JOSN 數據包中傳送數據至少比老一套的 XML 數據及標簽的 90% 有效負載而言要簡單很多;但極其注重效率的程序員可能會質疑,為什么必須將二進制數據轉換為字符串才能在 JSON 中正確顯示,反正字符串回頭還要解析成字節的,不是嗎?既然這樣,特別當物聯網僅僅傳送幾字節的數據時,為什么不直接傳送字節呢?

創建更多二進制協議費時費力,HTTP 標準本來又都是文本。許多程序員曾經使用過只能用專有代碼庫拆包的專有二進制協議,深知這種方法并不是時時湊效,讓人沮喪。

相比之下,開放的 JSON 和 REST 的優越性就很明顯了,但這不代表使用二進制協議不能使開放標準高效率發揮作用。物聯網將產生比以往更多的數據,許多設備將使用大量編碼要求更嚴格的小數據包。當效率成為硬性要求,程序員會想方設法為數據庫添加更高效的二進制協議。

3. 視頻流將淘汰 HTML

在網站之間輾轉,閱讀頁面文字,點擊超鏈接來獲取更多信息的時代過去了,如今我們在電視機前渾渾噩噩數小時甚至數天,劇集播完時方慵懶地從沙發上站起來。唯一使用鍵盤的時候也只是為了知道下一季什么時候在 Netflix 上播映。互聯網變成了新一代電視,而穩定的視頻流正沿著文本互動模式鋪展開來,幫我們來思考。

這并不完全正確。很多人覺得網絡正在解放電視機,讓更多人可以坐在電腦前吃著零食觀看電視節目。我不知道“周六夜現場”是不是仍舊在周六晚上播出,甚至不知道這個節目有沒有直播過,但我知道可以在網站上輕松搜到它。它還保留著那開頭的獨白嗎?還有特約嘉賓主持環節嗎?誰知道呢?

但對于這一切,電視迷除了對著屏幕樂呵也做不了什么。幾乎不用點擊鼠標,也不用翻看網頁。也許下一代視頻應用會添加更多視頻層,并改進現存的工具。Flash 的消亡和 HTML5 的崛起為 HTML 合并視頻剪輯開啟了很多可能性,給程序員帶來了福音。在那之前,電視節目背后是互聯網巨頭也好,是三個大寫字母為名的國家廣播公司也好,用戶就只是被動地坐在那里,跟幾十年前并無差別。

4. 通話不再是智能手機的主要功能

還會有人單純為打電話而買智能手機嗎?發短信、查郵件、上網站,能做的事情還有很多。這小小的矩形屏幕在過去十多年已徹底改變了生活的方方面面,其未來更是讓人翹首以待。更多的傳感器,更智能的麥克風、相機和加速度計……不過這也意味著手機的商用和私用都會面臨一定的隱私風險。

以前,人們要在醫生辦公室外等待數小時才能得到救助;而現在成百上千的公司正試著把智能手機變成一個小小的私人醫療設備——麥克風可以聽取心跳,相機可以用來查看喉嚨,加速計可以追蹤健身狀況——這些數據可以輸送到云端,快速幫你找到對癥的醫生。

是的,新一代的智能設備定將讓如今的科技相形見絀——導航應用可以實現路線規劃;計劃應用除了開車之外幾乎無所不能;健身追蹤應用可在睡眠和工作時間不間斷記錄身體的狀況。不論是手機還是其他設備,這樣的移動應用還會層出不窮。

5. 數據庫更大、更強

不錯,搜索引擎可以作為網頁的索引,而如今已經存在可以作為世界索引的數據庫了,這都得歸功于新一代定位應用和自動駕駛汽車不斷擴張的市場需求。Waze 等應用可以追蹤其用戶,從而為開發者和用戶編制了一張包羅萬象的世界地圖,制圖師瞇著眼趴在航拍照片的舊時代已一去不復返。某條路被封住,一頭牛堵住了車流,還是土木工程師新添了一條道路,都能立刻知曉。

數據庫之精細令人嘆為觀止,比如自動駕駛汽車可以輸入紅路燈、報紙自動售賣機和消防栓的位置數據,好保證行程的安全。數據規模之龐大,為自動駕駛汽車所用絕對綽綽有余。什么時候、什么地點的道路需要維修,哪里的路燈壞掉了,市政部門都能掌握信息;警察掌握的數據遠遠超出了街上行人的范圍。

數據庫甚至能記錄每個城市中的路面坑洞,以及需要修補的時間。如果這一切已經讓你目不暇接了,那么機器人肯定更能牽動你的心。

6. JavaScript 將成為主宰語言,卻無需親自編寫

如果我們不編寫 JavaScript,誰來做呢?答案就是代碼轉換機器人,它們能將任何語言轉換成瀏覽器或 Node.js 理解的語言。GitHub 上越來越多的代碼需要經過“編譯”才能運行,比如精簡的 CoffeeScript,該語言去掉了很多程序員討厭的標點符號。單單 CoffeeScript 就有數十個版本——Coco,IcedCoffeeScript 和 CoffeeScript II: The Wrath of Khan。

這僅僅是開端而已,很多程序員明智地編寫了 Cobol、Java、Lisp 和C等多種語言的代碼轉換器。現在這些語言經過轉換和改進,經過快速交付和解析后就能在瀏覽器里運行了。既然有了機器人軟件來轉換你熟悉的語言,為什么還要費盡周折使用 JavaScript 呢?

7. PHP 將對 Node . js 展開反擊

…不過僅僅是為了防止改寫遺留的應用。幾年前,人們還以為 PHP 會隨著 Node.js 和 JavaScript 占領服務器機群而退出歷史舞臺。現在看來它的“退休時間”恐怕要延遲了,知道要打完這最后一場戰役再說。PHP 7 和 HipHop 虛擬機等最新即時工具運行更快更流暢,讓 WordPress 和 Drupal 等代碼庫的運行速度提升了 30%、40%、50%,甚至 100%。

而 JavaScript 對于項目開發的其他優勢仍然存在,比如相同代碼在瀏覽器和服務器上都可以運行,但如此一來,也就沒有了用 Node.js 代替 PHP 舊代碼庫的理由了。這些舊平臺最終會浴火重生的。

8. 入門容易精通難

軟件開發的教授和學習都變得更簡單了。2014 年 12 月 8 日,美國總統奧巴馬暫且將中東問題和反恐事業擱在一邊,花了一個小時學習并編寫了一行代碼,不知道這會不會讓他的“Obamacare(奧巴馬醫改)”網站更流暢一些呢?

不論教授的對象是人,是寵物狗,還是鸚鵡,這場代碼教授熱潮都會繼續好多年。而真正的程序員最好以一個微笑,一句鼓勵回應就是。當越多的人加入編程學習大軍,他們就越能認識到處理協調數字、API 等有多棘手。像奧巴馬那樣寫出一行代碼很簡單,但上百萬代碼組成的完整系統卻是常人難以駕馭的。

個別有天分之人入了門就能如魚得水,但絕大部分都是繃直了腦袋,暗暗叫苦不迭。編寫一個循環簡單,但選擇最合適的很難;孩童時期學過砍木頭,但又有幾個能在日后掌握木匠精湛的技藝?

9. 指手畫腳的 BOSS 讓人抓狂

這算不上是展望,因為他們已經做到了——這些上司們在速成班里學了點編程,就覺得自己成了行家,程序員于是就這樣“被幫助”了。

“你要用一個變量嗎?”他們喜歡在旁邊插話:“你確定在這里使用常量?我覺得循環更好些。”

這種情況下,只要面帶微笑,道聲感謝,這是你唯一能做的。

作者:Peter Wayner 
翻譯:張新慧 
審校/責任編輯:唐小引

來自: CSDN

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