??歡迎來到本文??
??個人簡介:陳童學哦,目前學習C/C++、算法、Python、Java等方向,一個正在慢慢前行的普通人。
??系列專欄:陳童學的日記
??其他專欄:C++STL,感興趣的小伙伴可以看看。
??希望各位→點贊?? + 收藏?? + 留言?? ?
??萬物從心起,心動則萬物動???♂?
??ChatGPT 橫空出世后,“AI 即將取代程序員” 的觀點一度引發(fā)熱議,至今尚未完全冷卻。作為一名服務端開發(fā)工程師,同時也是 ChatGPT的“忠實”用戶,經(jīng)過將近一年的使用,今天抽空寫一篇文章,談談自己對“AI 時代,程序員何去何從?”這一問題的看法。
前言
??2022 年 11 月 30 日,OpenAI 發(fā)布了一款名為 ChatGPT 的聊天機器人程序,旋即引爆網(wǎng)絡,在全球范圍內(nèi)引起巨大反響。緊隨其后,各種大語言模型如雨后春筍不斷出現(xiàn)。國外如 Google 的 Bard、Anthropic 的 Claude,國內(nèi)如百度文心一言、阿里通義千問、訊飛星火認知大模型、昆侖萬維天工大模型等。
??相較于之前的模型,以 ChatGPT 為代表的大語言模型在代碼生成、代碼解釋能力方面有了質(zhì)的飛躍,很多程序員已經(jīng)開始借助大語言模型編寫、優(yōu)化代碼,因此很多人認為 “程序員即將被 AI 所取代”。
二、程序員會被 AI 取代么?
??“AI 取代程序員” 并不是什么新鮮的話題,事實上,早在“低代碼”概念出現(xiàn)時,人們就已經(jīng)開始討論程序員是否會被淘汰的話題了。在 ChatGPT 橫空出世后,該話題被人們連夜從地里挖出,重新裝扮后,緊急上線,再度推上了熱搜。
??目前,一些有條件的人已經(jīng)開始借助 AI 來學習技術(shù)、編寫代碼和輔助解決問題等。AI 技術(shù)極大地縮短了掌握知識的路徑,一些原本需要讀很多書、看很多專欄才能搞懂的知識點,讓 AI 工具給你舉例子,并用通俗易懂的語言來解釋,就可以快速地掌握。一些看似并不復雜的代碼,如果你自己去寫可能要寫半小時, AI 則可能只需一兩分鐘就能產(chǎn)出,而且質(zhì)量往往更高。有了 AI 的加持,那些編程經(jīng)驗并不豐富的初級工程師,也可以 “寫出” 相對優(yōu)秀的代碼。
??AI 給很多行業(yè)帶來無限可能,在部分場景下,AI 可以大幅提高開發(fā)效率。在不久的將來,AI 有望取代一些低水平(比如僅會 CRUD)的程序員 。不過,就筆者使用 ChatGPT 輔助編程的經(jīng)驗來看,AI 目前生成代碼的水平,要全面取代程序員還有很長的一段路要走。
三、服務端開發(fā)尚難被 AI 取代
??大型軟件系統(tǒng),本身往往具有較高的復雜度。我們可以簡單地將復雜度分為兩個維度:業(yè)務與技術(shù)。高業(yè)務復雜度的系統(tǒng),必須進行科學、有效的需求分析與領域建模,方可在滿足當前功能性需求的同時獲得可持續(xù)演進的應用架構(gòu);高技術(shù)復雜度的分布式系統(tǒng),則需要充分考慮諸如高并發(fā)、高可用、高性能、數(shù)據(jù)一致性等非功能性問題,才能在設計權(quán)衡中尋求技術(shù)架構(gòu)最優(yōu)解。
縱觀全球,AI 的水平尚無法應對上述兩種復雜度。
??此外,大模型雖然具備生成代碼、解釋代碼甚至優(yōu)化代碼的能力,但是還多停留在 “函數(shù)/方法” 維度,不能很好地生成類維度、模塊維度、項目維度的代碼。同時,生成的代碼仍然需要人工審閱、優(yōu)化、部署、驗證。對于復雜的任務,還需要人工拆解為大模型能夠 “理解” 的粒度。
??再者,即便不考慮數(shù)據(jù)安全、自研模型成本等因素,單就服務端研發(fā)流程來看。編碼只是整個軟件生命周期的一環(huán) ,軟件開發(fā)還包括需求分析、抽象建模、系統(tǒng)設計、數(shù)據(jù)設計、非功能性設計、測試、運維等環(huán)節(jié)。很多時候,編寫代碼作為解決問題的最終手段,并不困難,而困難在于對問題的識別、理解、定義和抽象,這些都依賴人工反復推演。當一個問題被明確并拆解到軟件項目維度的時候,面對確定的任務、清晰的目標、合理的架構(gòu),可以解決問題的人就非常多了,AI 自然也才有用武之地。
四、服務端開發(fā)何去何從?
??AI 時代必將對人類社會的生產(chǎn)、生活帶來深刻的變革。雖然目前大模型還存在很多缺點,如幻覺、推理能力弱等問題,但是,其潛力不可小覷。某種意義上,正是因為大模型還不完美,我們才沒那么容易被淘汰。
??AI 時代,簡單、重復的任務被 AI 取代是不可避免的。新的時代,我們需要重新審視核心競爭力的內(nèi)涵, 持續(xù)學習,不斷夯實自身的能力護城河。只有技術(shù)積累有足夠的深度,才能提高對 AI 生成信息的辨識能力,才能在享受 AI 帶來便利的同時,控制、降低其負面影響。
??以服務端開發(fā)崗位為例,領域知識是最基礎卻又最重要的能力,但是,
只有當領域知識形成體系時,才可以稱之為真正的核心競爭力。那么,如何才能使自己的領域知識體系化呢?
??想象一下,為什么你對家所在的小區(qū)周邊特別了解,隨便把你放在一個角落,你都能慢慢摸索出來?究其原因,是因為你腦海中已經(jīng)形成了小區(qū)周邊的整體大圖,并對關鍵節(jié)點了然于胸。如果把你放到陌生的小區(qū),你可能就懵了,關鍵節(jié)點、整體大圖都沒有,胡亂摸索,即便你把摸索路上所見到的每一個下水道井蓋的情況都搞清楚了,也沒什么意義,再過幾條街你就忘了。
??回到上面拋出的問題,高效學習、知識體系化的關鍵在于:構(gòu)建宏觀層面的整體大圖,并深入理解關鍵知識點。這些關鍵點就是這個領域的骨架、支點。缺少骨架和支點自然難以體系化,缺了宏觀大圖則容易誤入歧途。
五、業(yè)界首部體系化、全景式解讀服務端開發(fā)的著作
《服務端開發(fā):技術(shù)、方法與實用解決方案》一書取材自阿里和螞蟻集團的精品內(nèi)訓課程,由資深服務端技術(shù)專家、技術(shù)講師、阿里第二屆技術(shù)講師課程大賽年度冠軍得主、CSDN 博客專家撰寫。該書理論與實踐結(jié)合,全景式、體系化地闡述了服務端開發(fā),內(nèi)容包括以下兩個部分。
-
第一部分:服務端開發(fā)的技術(shù)和方法
首先介紹服務端開發(fā)的職責、技術(shù)棧、核心流程和進階路徑;然后從需求分析、抽象建模、系統(tǒng)設計、數(shù)據(jù)設計和非功能性設計5個方面展開,結(jié)合案例深入講解了服務端開發(fā)的實操方法和重難點,為讀者呈現(xiàn)服務端開發(fā)的全景圖,幫助讀者快速、體系化地掌握服務端開發(fā)的知識和方法。 -
第二部分:服務端典型問題的解決方案
針對高并發(fā)、高性能、高可用、緩存、數(shù)據(jù)一致性、冪等、秒殺等服務端開發(fā)實踐中的典型問題,給出了對應的解決方案和開發(fā)規(guī)范,同時還結(jié)合案例深入分析了不同方案的優(yōu)缺點。此外,還總結(jié)了接口設計、日志打印、異常處理、代碼編寫、代碼注釋等落地層面的行業(yè)案例和規(guī)范。
圖書推薦
讀者對象
-
IT 從業(yè)人員:服務端開發(fā)工程師、客戶端開發(fā)工程師、產(chǎn)品經(jīng)理、測試開發(fā)工程師等。
-
高校學生:計算機、軟件、自動化、電氣、通信等專業(yè)有志于進入 IT 行業(yè)的在校學生。
文章來源:http://www.zghlxwxcb.cn/news/detail-672999.html
如果本文對大家有所幫助的話,還望各位能給我點贊、收藏并評論一下,感謝各位???。?! 另如果大家有什么疑問或者建議的話,歡迎評論區(qū)留言。文章來源地址http://www.zghlxwxcb.cn/news/detail-672999.html
到了這里,關于【AI】即使AI 時代,程序員也無需焦慮的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!