首頁 後端開發 php教程 程式設計師,為未來準備好了嗎?

程式設計師,為未來準備好了嗎?

Jul 25, 2016 am 08:46 AM

也許一直在一線的程式設計師們對這個標題呲之以鼻,特別是全端工程師們。這篇文章主要是拋磚引玉,預測一下以後的技術方向。另外,文中可能也有表達不對的地方,歡迎指正。如果只想看未來的部分,可從中間開始看。
電腦產生以後,這個產業的發展日新月異,不停地產生新的技術來解決新的問題。這裡不把電腦語言的更新換代看作技術的變化。電腦程式語言應該算做是規範,除了解決新問題外,有些語言的產生和流行也是有歷史原因的。
從電腦剛產生時,解決的是計算問題。其將許多人花費好幾個月的計算在幾天之內完成。這一代的工程師們更多的在解決硬體問題。程式設計師(或叫做軟體工程師)是將問題翻譯成電腦語言(其實程式設計師做的一直是這個),也就是卡片紙。程式設計師在當時的電腦系統中,應該不算一個核心角色。因為大部分問題和挑戰都在硬體系統、演算法上。
隨著電腦成本的降低,世界大戰後戰爭需求減少,開始大力發展經濟。硬體解決方案的成本問題開始凸顯,於是開始產生了通用計算機。通用電腦逐漸統一了硬體標準,把更多的彈性放到了軟體上。基本模式就是:巨無霸的硬體廠商負責提供運算資源,程式設計師負責解決問題。這時候,程式設計師的春天來了。同時,軟體開發的理論也在不停地發展。隨著各種語言的層出不窮,基本上大家都認可了指令、數據,程式基本流程、函式庫函數等各種計算機的概念。
再往後,隨著電腦的應用的範圍越來越大,挑戰也越來越多了。由於系統複雜性的增加,許多系統已經不是幾位,甚至是數十位程式設計師就能完成的了。 (現今的作業系統、搜尋引擎都是數千甚至數萬人幾十年辛苦工作的結晶)。新的挑戰也來了——軟體工程,如何更有效率、可預期地開發、維護複雜系統。這裡的挑戰包括:如何將傳統的專案管理經驗放到軟體專案管理中;如何讓程式設計師採用各種標準化的程式設計風格;如何建構合適的團隊結構等。這時候,程式設計師的重要性就凸顯出來了,產業鏈中的地位也變高了。縱觀歷史,數萬人以前集中在一起都是進行體力勞動或戰爭。人類從來沒有這麼大規模的將智力集中在一起解決問題。
同時,解決的問題規模和類型也進一步增加。其中,人機互動是一個熱門且有挑戰的方向。輸入上,除了從打字機來的鍵盤外,又發明了滑鼠,顯示,揚聲器等各種人機互動的裝置。程式設計師除了要實現底層的驅動程式碼,在人機互動層面也要實現方便易用的互動體驗。這時候除了演算法和設計等挑戰,還有人體工學、文化上的挑戰。例如,中國人花了很多年,也沒製造出廣泛應用的中文鍵盤和流行的輸入方式,最後還是英文鍵盤 拼音成了最主流的輸入方式。這是漢字本身的特徵造成的,而廣大程式設計師花了大量的人力物力才認識到了這些文化上的規律。另外,網路也是另一個熱門。程式設計師們在底層將電腦連接在了一起,並依靠強大的網路能力實現了人們的遠端溝通。
到了近幾年,又出現了大數據、物聯網等熱門的方向。程式設計師從底層實現大數據的批次、傳輸、存儲,解決了效能、可靠性等各種問題。由於大數據的精確性和完備性通常達不到100%,所以大數據也讓許多程式設計師開始去解決不確定的問題。
別人家的程式設計師一直在解決不同領域、類型的問題。程式設計師的角色開始了分化(同時也有很多角色從程式設計師中分化出來了),從開發、測試,到架構設計、體驗最佳化、前端開發、後端開發、驅動開發、資料庫開發、IT等等數不勝數。縱觀不太長的程式設計師職業史,這些角色也在不停的產生和消失中。這代表著一代一代的程式設計師不是不停的學習,就是從這個產業離開(也沒什麼不好的,好多富翁都是程式設計師變的)。從歷史來看,程式設計師解決的問題,所使用的元件和思考模式都在不停地改變。但也有一些不變的東西,像是程式基本流程、設計模式、軟體工程。所以很多程式設計師在不停的學習新東西,以便能夠解決新問題。
那麼,現在正在、未來會發生什麼變化呢?這裡只想討論一個:人機互動的革命,包括人機互動方式,和人機互動層次兩方面的革命。 (說人話!)好吧,就是Kinect, HoloLens、Cortana帶來的新情況。這類新產品集中在一起,將對現有的人機互動產生顛覆性的革命。一句話概括:未來人們應該花更少的時間學習如何使用科技,程式設計師要花更多時間讓科技適應人,而不是人去適應科技。例如,單輪摩托車不需要學習怎麼在一個輪子上保持平衡,四軸飛行器不需要學習怎麼轉彎、穩定,這都是很好的例子。
1、人機互動方式。人是生活在三維空間裡的,程式設計師們也不停地在各種輸入輸出方式模擬三維空間。首先,顯示器是一個二維的輸出,因此滑鼠和各種觸控方式也設計成了二維的。這裡的二維性除了它們是平面輸入輸出外,它還真的只是個物理的平面…顯示器放在哪裡就在哪裡,觸控要在顯示器上完成,滑鼠也需要在一個平面上完成移動。鍵盤呢?可以說其維度都沒到一維。
什麼是未來的輸入設備呢?它包括全像輸入輸出設備和解放雙手的輸入方式。
(1)、全像輸入裝置。 Kinect這樣的體感、手勢輸入裝置屬於全像輸入裝置。 Kinect很酷,但不得不說這只是全息輸入裝置的雛形。這不僅是因為其不溫不火的狀態,也是本身還有很大的提升空間。一方面,設備本身精確度不夠、使用的範圍不是360度無死角;另一方面後面沒有強大的人工智慧來支援(人工智慧放到互動層次部分講,這裡只講全像輸入裝置)。未來的輸入設備應該是覆蓋整個空間,精確檢測到人的微動作和微表情,甚至能夠檢測到人的健康狀態(安全和隱私是需要考慮的方面)。從單一技術上來說,應該沒有突破不了的難題了,但整合起來製造出完美的設備仍然需要巨大的投入。
(2)、全像輸出設備。全息顯示技術在許多科幻電影裡都示範過了。 HoloLens這樣的擴增實境裝置和各種虛擬實境裝置都屬於全像顯示裝置。這些設備還處於非常初級的階段,但已經帶來了極大的震撼。在物理技術沒有突破之前,這種穿戴式的裝置是全像技術的主要載體。除此之外,還會出現各種味覺、觸覺的設備,這些全部加起來,覆蓋了人的所有感覺器官,就可以稱作全息輸出設備了。
(3)、Cortana一類的語音助理。其最具革命性的一點是進一步解放了雙手(聽起來怎麼這麼耳熟?)。這和人類直立行走的解放雙手當然不能相提並論,但其革命性也是可圈可點的。還是那句話,這類語音助理還在雛形階段,它們的主要挑戰除了語音辨識外,主要是在後文要講的互動層次。 Cortana不像滑鼠鍵盤,一方面需要學習如何使用,一方面還需要到固定的位置或某個固定的姿勢才能使用。現在Cortana雖然要將手機拿起來才能使用,但透過物聯網的進一步發展,是可以進一步發展的。
對程式設計師的挑戰就來了:
(1)、製造、整合出這些設備,甚至發明出新的設備。這些設備需要提供完美的體驗,和人的運動、感官無縫結合,讓人感到自然。
(2)、在較高層次,如何收集模糊、大量的輸入,並轉換成電腦能夠處理的確定指令。和傳統的輸入方式相比,除了空間變成了三維,資訊量也有數量級的增加。
(3)、如何提高輸入的效率、降低學習成本?程式設計師需要考慮的是如何顛覆性的提高輸入效率。這裡不僅是滑鼠和螢幕的座標從二維變成了三維的。想想鋼鐵人是怎麼輸入的?
(4)、如何讓設備輸出最自然的體驗?特別是全息顯示設備,要解決頭暈等問題需要大量的調試和研究的。
(5)、最重要的是:如何用這些裝置建構全新的體驗模式。例如,不同種類的應用應該放在什麼位置,什麼呈現方式?什麼樣的動作操作才是最有效率、最自然的?這些需要一代一代的產品不斷的迭代,才能加深對新體驗的認識,並發揮新一代全像裝置的能力。
2、人機互動層次。目前的人機互動方式上,雖然許多產品號稱體驗非常好,但仍然需要人去適應設備。不僅是輸入輸出的方式,也是思維的方式,目前的人機互動的體驗都有很大的提升空間。
例如,想出去旅遊時,要先研究到底去哪裡,要嘛上網,要嘛聽人說,要嘛去旅行社直接預約。去旅行社當然最省事,但聽不到第一手的體驗,成本也會比較高。如果要自己研究,選地方,確定日期,買機票、飯店,找攻略,過程中要用到很多次搜尋引擎,各種預訂網站,發郵件等。從開始想到基本確定至少要好幾天,中間也好幾個小時使用各種工具。而富豪們呢?也許只花5分鐘就完成了整個過程:告訴助手:想出去玩。助手可能就問問想去什麼樣的地方(也許不是某個特定的地方)?玩幾天?大概什麼時候去?然後基本確定後再回報安排就可以了。這兩個過程之間的核心差異就在於互動的層次。一般人是依賴電腦進行任務層次的交互,而富豪是意圖層次的交互。這就是互動層次的不同對效率的影響。
Cortana這樣的語音助理除了解放了雙手,它也是一個非常自然的輸入方式。這讓程式設計師和科學家開始更多的研究人們語言後面的意圖,從而提高電腦和人的互動層次。
Project Oxford和Azure Machine Learning這樣的開放的人工智慧組件真正把多年實驗室裡的玩具帶給了全世界。這就像當年Siri的發布一樣,雖然它不是最好的,但沒有它,就不會有google now和Cortana的迅速推出。好吧,再來一次:雖然Project Oxford只是個雛形,但是Project Oxford的推出給業界定義了人工智慧組件更高層的介面標準,降低了人工智慧的學習、應用門檻。特別是其中的語言模型。除了人工智慧組件的開放,可以預見由各大公司基於大數據的各種數據模型也會很快共享。基於它們,人工智慧的應用很快就會遍地開花,所有程式設計師都能創造出更聰明的應用,讓每個人都可以有自己的個人助理。如果無法腦補個人助理的價值,請觀看電影《她》(《Her》),看看人工智慧是怎麼幫忙處理電話和郵件的。
另一方面,在這一輪人工智慧的熱潮下,硬體公司也開始製造採用人工智慧演算法的處理器,這也代表著新一代的程式語言和理念的開始流行了。
互動層次方面對程式設計師有更大的挑戰了:
(1)、最大的挑戰就是學習和適應新的程式設計理念。以前的程式都是if..else while這樣的確定性的結構化程序,程式設計師要開始學習如何寫元程式。寫出的程序是可以自己適應個體使用者需求的,而不是寫一段能夠適應所有使用者的程序。程式設計師的程式碼將是方向性的,統籌性的,而不再是細節的堆疊。
(2)、大開腦洞,如何結合全像互動和物聯網等技術提升人機互動層次。幫助人們做事情10步並5步,5步並1步。例如,什麼情況下抬手錶示要喝水,抬頭表示想開燈,甚至無需特定動作;真正幫助人們管理時間,協調日程,而不僅僅是一個日程表。
總而言之,這裡描述的未來可能需要10年、20年或更長。也許我們這代程式設計師已經退出江湖了。熱點將不再是發明各種語言、發現各種工程管理方式和軟體設計模式了,而是科技如何進一步的以人為本,促進生產力發展。對程式設計師的挑戰除了要學習和探索新的輸入輸出方式,還要學會像人工智慧這樣的完全不同的程式設計理念。
免費領取LAMP兄弟連原創PHP影片教學光碟/《細說PHP》精要版,詳情諮詢官網客服:
http://www.lampbrother. net



本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 Apr 07, 2024 am 09:10 AM

2022年3月3日,距離世界首個AI程式設計師Devin誕生不足一個月,普林斯頓大學的NLP團隊開發了一個開源AI程式設計師SWE-agent。它利用GPT-4模型在GitHub儲存庫中自動解決問題。 SWE-agent在SWE-bench測試集上的表現與Devin相似,平均耗時93秒,解決了12.29%的問題。 SWE-agent透過與專用終端交互,可以開啟、搜尋文件內容,使用自動語法檢查、編輯特定行,以及編寫和執行測試。 (註:以上內容為原始內容微調,但保留了原文中的關鍵訊息,未超過指定字數限制。)SWE-A

揭秘C語言的吸引力: 發掘程式設計師的潛質 揭秘C語言的吸引力: 發掘程式設計師的潛質 Feb 24, 2024 pm 11:21 PM

學習C語言的魅力:解鎖程式設計師的潛力隨著科技的不斷發展,電腦程式設計已經成為了一個備受關注的領域。在眾多程式語言中,C語言一直以來都備受程式設計師的喜愛。它的簡單、高效以及廣泛應用的特點,使得學習C語言成為了許多人進入程式設計領域的第一步。本文將討論學習C語言的魅力,以及如何透過學習C語言來解鎖程式設計師的潛力。首先,學習C語言的魅力在於其簡潔性。相較於其他程式語言而言,C語

接私活賺錢! 2023程式設計師接單平台大全! 接私活賺錢! 2023程式設計師接單平台大全! Jan 09, 2023 am 09:50 AM

上週我們做了一次關於《2023PHP創業》的公益直播,很多同學諮詢具體有哪些接單平台,下面php中文網整理了22個還算可靠的平台,以供參考!

2023过年,又限制放烟花?程序猿有办法! 2023过年,又限制放烟花?程序猿有办法! Jan 20, 2023 pm 02:57 PM

本篇文章给大家介绍如何用前端代码实现一个烟花绽放的绚烂效果,其实主要就是用前端三剑客来实现,也就是HTML+CSS+JS,下面一起来看一下,作者会解说相应的代码,希望对需要的朋友有所帮助。

程式設計師是做什麼的 程式設計師是做什麼的 Aug 03, 2019 pm 01:40 PM

程式設計師的工作職責:1、負責軟體專案的詳細設計、編碼和內部測試的組織實施;2、協助專案經理和相關人員同客戶進行溝通,保持良好的客戶關係;3、參與需求研究、專案可行性分析、技術可行性分析與需求分析;4、熟悉並熟練交付軟體部開發的軟體專案的相關軟體技術;5、負責向專案經理及時回饋軟體開發的情況;6、參與軟體開發與維護過程中重大技術問題的解決;7、負責相關技術文件的擬訂等等。

520程式設計師專屬浪漫告白方式!無法拒絕! 520程式設計師專屬浪漫告白方式!無法拒絕! May 19, 2022 pm 03:07 PM

520將至,年度虐汪大戲他又雙叒叕來啦!想看看最理性的密碼和最浪漫的告白究竟能碰撞出怎樣的火花?以下帶你逐一領略最全最完整的告白代碼,看看程式設計師們的浪漫是否能擄獲各位心目中女神的芳心呢?

淺析怎麼下載安裝VSCode歷史版本 淺析怎麼下載安裝VSCode歷史版本 Apr 17, 2023 pm 07:18 PM

VSCode歷史版本的下載安裝 VSCode安裝 下載 安裝 參考資料 VSCode安裝 Windows版本:Windows10 VSCode版本:VScode1.65.0(64位元User版本) 本文

2022年最佳的Windows 11終端機模擬器清單:Top 15款推薦 2022年最佳的Windows 11終端機模擬器清單:Top 15款推薦 Apr 24, 2023 pm 04:31 PM

終端仿真器可讓您模仿標準電腦終端的功能。有了它,您可以執行資料傳輸並遠端存取另一台電腦。當與Windows11等高階作業系統結合使用時,這些工具的創造性可能性是無窮無盡的。但是,有很多第三方終端模擬器可用。因此,很難選擇合適的。但是,正如我們對必備的Windows11應用程式所做的那樣,我們選擇了您可以使用的最佳終端並提高您的工作效率。我們如何選擇最好的Windows11終端模擬器?在選擇此清單中的工具之前,我們的專家團隊首先測試了它們與Windows11的兼容性。我們也檢查了他們

See all articles