未來程式設計需要的是什麼
程式設計是自古不變的話題,關於程式設計之類的猜想更是雨後春筍般的不勝枚舉。科學家稱時間是勻速前行的,智者稱萬物以光速而變化——然而科技的瞬息萬變仍舊無從求解,一眨眼,又是另一番景象了。
很多人巴不得能看透未來,但未來五年頂多是猜測而已。預測科技發展簡直是天方夜譚,因為創新的影響力足以淘汰當下的許多技能和工具。話雖這麼說,我們還是瞅瞅這命運的茶葉渣子,或許能幫我們撥開迷霧,瞥一眼未來,看看科技到那時究竟是什麼樣的。
站在科技成就的前沿,我們鬥膽展望未來。並非所有展望都會實現,甚至連驚喜都談不上——其實很多趨勢在數年前就「小荷才露尖尖角」了。希望能夠提供開發者有價值的參考,協助提升針對未來變化的反應能力,快速做出規劃。
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讓人抓狂。這不算是展望,因為他們已經做到了——這些上司們在速成班裡學了點編程,就覺得自己成了行家,程序員於是就這樣「被幫助」了。
「你要用一個變數嗎?」他們喜歡在旁邊插話:「你確定在這裡使用常量?我覺得循環更好些。」這種情況下,只要面帶微笑,道聲感謝,這是你唯一能做的。
對於程式設計而言,需要的不只是一些猜想,更需要的是自己對程式設計的追求和不斷的創新,讓後來者可以有借鏡和技術的改進。
兄弟會高洛峰免費收徒:http://www.hdb.com/party/lzcw-comm.html
免費領取LAMP兄弟連原創PHP影片教學光碟/《細講PHP》精要版,詳情諮詢官網客服:
http://www.lampbrother.net
【兄弟連IT教育】學PHP、Linux、HTML5、UI、Android等影片教學(課件+筆記+影片)!
網盤教學下載:http://pan.baidu.com/s/1sjOJiAL
以上就介紹了未來程式設計需要的是什麼,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。