有朝一日程序員會(huì)被人工智能取代嗎龄坪?
針對(duì)這個(gè)話題,個(gè)人的觀點(diǎn)是目前看不到這個(gè)可能性复唤。也就是說人工智能機(jī)器人無法替代程序員健田。
雖然人工智能機(jī)器人可以有很多作為,可以幫助程序員寫一些code, 但是他永遠(yuǎn)無法替代程序員佛纫。
那么人工智能可以幫助程序員做哪些事情呢抄课?
我們下面通過一些例子來說明這些事情唱星。
第一,創(chuàng)建工程時(shí)生成模板代碼跟磨。
創(chuàng)建工程時(shí)生成模板代碼的例子非常多间聊,比如說你熟悉編程集成環(huán)境的話,當(dāng)你選擇創(chuàng)建一個(gè)類別的工程的時(shí)候抵拘,就會(huì)生成一些模板代碼哎榴。
這種模板性的代碼就是由機(jī)器生成的預(yù)置性代碼。這些代碼會(huì)提供整個(gè)工程的一些框架僵蛛,一些入口類尚蝌,一些入口函數(shù),但是具體要做什么還是需要程序員來完成充尉。
這種模板類的代碼飘言,相對(duì)來說比較簡單。會(huì)有一些TODO的標(biāo)記來提示驼侠。
接下來的代碼實(shí)現(xiàn)部分姿鸿。除了程序員以外,程序是無法自動(dòng)進(jìn)行的倒源。
第二苛预,使用命令行,來生成一些類或者組件笋熬。這些命令行也是由程序員來輸入热某,這個(gè)過程是程序員來發(fā)動(dòng)的。生成的類或者組件也是一些框架性的,指導(dǎo)性的代碼胳螟。
這個(gè)過程無法由機(jī)器昔馋,或者人工智能來替代。程序員才知道接下來要做什么糖耸,要用哪些命令绒极,要生成的類的名字是什么,要生成的組件的名字是什么蔬捷,然后是準(zhǔn)備用這些類和組件將來會(huì)用來做什么。
第三榔袋,使用配置文件來生成代碼周拐。如果你對(duì)SWAGGER比較熟悉的話,而且用過配置文件比如說YAML或者JSON生成微服務(wù)代碼凰兑。你應(yīng)該對(duì)這個(gè)過程比較熟悉妥粟。通過配置這些文件指定生成方法的名字,參數(shù)名字吏够,參數(shù)類型勾给,返回的數(shù)據(jù)類型滩报。
通過生成的配置文件,你可以生成多種程序語言的代碼播急。
這些生成的代碼脓钾,對(duì)于運(yùn)行一個(gè)微服務(wù)來說,框架代碼部分已經(jīng)足夠了桩警。也就是說你運(yùn)行由這些代碼構(gòu)成的微服務(wù)可训,你就可以調(diào)用那些API的接口了。
只是此時(shí)這些接口并不能為你做什么捶枢,只會(huì)給你返回類似接口未實(shí)現(xiàn)的錯(cuò)誤代碼握截。接下來的活兒就是程序員的任務(wù)了。程序員需要找到對(duì)應(yīng)的接口烂叔,然后把實(shí)現(xiàn)代碼寫完谨胞。
這樣子你在調(diào)用對(duì)應(yīng)的接口的時(shí)候,你就可以做實(shí)際的事情了蒜鸡。
我們可以看到在這個(gè)過程中胯努,智能程序?yàn)槲覀冏隽撕芏嗍虑椤5浅绦騿T必須要自己實(shí)現(xiàn)接口內(nèi)的代碼术瓮。這一部分智能程序是無法替我們完成的康聂。
第四,以后智能程序可能會(huì)為程序員做得更多胞四。比如會(huì)進(jìn)一步的生成更多的代碼來幫助程序員工作恬汁。但是他始終無法生成所有的代碼。無論代碼如何高級(jí)辜伟,最終還是要靠我們?nèi)祟惖某绦騿T去分析氓侧,學(xué)習(xí)研究它并進(jìn)一步的實(shí)現(xiàn)真正的功能需求。
作為一名程序員导狡,我歡迎智能程序編程類的工具快速發(fā)展约巷。這樣的話可以讓我們程序員從繁重的代碼編寫過程中節(jié)省很多時(shí)間, 把大量的時(shí)間花在用戶需求分析上和程序結(jié)構(gòu)設(shè)計(jì)上。
好啦旱捧,這個(gè)話題先聊這些吧独郎。歡迎留言點(diǎn)贊關(guān)注,我們下個(gè)話題再見枚赡。