代碼、無代碼、低代碼、AI提示代碼、AI低代碼(低代碼api)
IT行業(yè)最不缺少概念,再多幾個也無妨,反正大部分的概念大部分人都不會真正弄懂。AI低代碼是我們新創(chuàng)的,AIGC 低代碼、AI 低代碼、智能開發(fā)、AI生成式開發(fā)、AIGS(AI生成軟件)等等,這些概念已經(jīng)呼之欲出了,不過還是覺得AI低代碼開發(fā)最為順口。AI提示代碼這個說法純粹為了標(biāo)題一致,意思是AI通過提示詞輔助編程。為了能夠清楚的對比,我們先拉這幾個墊背的,分析一下AI低代碼到底是什么。
從概念的角度對照
代碼:每個程序員都熟悉的,通過編寫代碼來實現(xiàn)應(yīng)用程序。有語言,算法,數(shù)據(jù)結(jié)構(gòu),需要編譯,調(diào)試,運行部署。
無代碼:試圖使用可視化工具和拖拽式操作來代替手動編寫代碼,不需要編程經(jīng)驗,號稱任何人員只需要在平臺上選擇需要的組件和功能,通過簡單的拖拽和配置即可完成應(yīng)用程序的開發(fā)。
低代碼:在無代碼編程的基礎(chǔ)上,增加了一些自定義的編程接口和代碼塊,使得開發(fā)人員可以通過編寫少量的代碼來實現(xiàn)更復(fù)雜的功能,同時也可以通過可視化工具來快速構(gòu)建應(yīng)用程序。
AI提示代碼:Github的Copilot就是最好例子,程序員在編程過程中強有力的智能提示工具。
AI低代碼:通過人工智能技術(shù)的采用低代碼理念編程方式,可以通過AI大模型和設(shè)計來自動生成代碼,并根據(jù)用戶需求進行優(yōu)化和調(diào)整,可以說是程序員系統(tǒng)級的Copilot。
從起源的角度推斷
代碼:代碼和電腦是同時誕生的。
無代碼:歷史的循環(huán),每幾年就一次,總是試圖通過可視化走捷徑,讓不會編程的人寫程序。一幅圖勝過千言萬語的背后是先學(xué)了千言萬語才能理解那副圖。前有網(wǎng)頁三劍客,中有原型設(shè)計工具,后有各種大型編程玩具無代碼。
低代碼:一些軟件公司開發(fā)過N個項目后,隨著框架的積累,組件的封裝,有一些核心場景的解決方案和快速開發(fā)框架,結(jié)合一下無代碼拖拉拽,低代碼就開始了,對于19年Gartner提出的定義,好像對又好像哪里不對。
AI提示代碼:VS相比于Eclipse就是代碼提示做得好,c 還有專門的插件tomato,現(xiàn)在vscode,idea的代碼自動補全已經(jīng)足夠好了,但是AI Copilot的推出,再次有了質(zhì)的飛躍,簡直可以猜到程序員心中所想,真正的智能提示。
AI低代碼:充分利用ChatGPT等AI大模型,直接生成系統(tǒng)級的代碼,此時此刻開始見證歷史。
從實現(xiàn)的角度分析
代碼:通過編譯器編譯為獨立的可執(zhí)行文件進行運行。
無代碼:在有限場景下的規(guī)則引擎上進行可視化拖拉拽配置,然后通過解析配置來運行,部分可以生成簡單的展現(xiàn)層代碼,相當(dāng)于是在一個成熟的軟件上的工作成果。
低代碼:同樣是通過流程引擎,表單引擎,可視化大屏引擎等進行配置式開發(fā),無論是拖拉拽還是編寫腳本,本質(zhì)上都是生成配置信息,雖然引擎的種類增多,功能也相對更加強大,但是其生成的系統(tǒng)功能也只能在引擎的能力范圍之內(nèi),而且通常無法獨立運行必須依賴于引擎本身。
通過引擎配置系統(tǒng),當(dāng)所需業(yè)務(wù)符合引擎能力且功能的粒度比較大時,能夠簡化操作,降低人員的使用難度,但是功能的粒度一旦變小,配置的復(fù)雜度會急劇增加,而且需要專門的人員才能勝任,并且其設(shè)計思路也會隱藏在復(fù)雜的配置中,對將來的維護工作帶來困難。
AI提示代碼:通過人工智能和深度學(xué)習(xí)對巨量的代碼訓(xùn)練,讓AI了解了程序員的心中所想,智能生成提示代碼。
AI低代碼:通過人工智能和深度學(xué)習(xí)對大量的組件、框架和場景模型進行訓(xùn)練,利用用戶提供需求分析,生成清晰可讀的代碼,相當(dāng)于是系統(tǒng)級的代碼補全,生成的系統(tǒng)可以獨立運行調(diào)試,并且能夠利用工具進行自動化測試,一鍵編譯和部署。
從應(yīng)用的角度比較
代碼:簡單介紹一下圖靈完備,對于一套數(shù)據(jù)操作規(guī)則,如果能執(zhí)行任何可實現(xiàn)的計算時,則認(rèn)為是圖靈完備的。絕大多數(shù)的編程語言都是圖靈完備的,即可以實現(xiàn)任何計算機能實現(xiàn)的能力。
無代碼:大部分是圖靈不完備,只能實現(xiàn)非常簡單有限的場景且難以擴展,看似不需要編程經(jīng)驗,實則需要學(xué)習(xí)更多規(guī)則配置。
低代碼:試圖圖靈完備,其實很難做到,而且做到后也很難用,一個遞歸用可視化拖拉拽實現(xiàn)想想就覺得很神奇。能在一定程度上提高開發(fā)效率,結(jié)合代碼實現(xiàn)復(fù)雜功能模塊,但是缺少調(diào)試功能,喪失了代碼的優(yōu)勢。整個設(shè)計不可讀,對特定人員依賴嚴(yán)重,容易綁定到特定平臺,不利于長期維護。
AI提示代碼:不獨立做任何應(yīng)用,配合和加速代碼實現(xiàn)。
AI低代碼:從模型上可能是不完備的,但生成的代碼上又是圖靈完備,在有限的目標(biāo)場景下開發(fā)效率非常高效,通用的場景自動生成,個性化的定制可以修改代碼,代碼可讀,擴展性和維護性好。不僅適合大規(guī)模應(yīng)用程序的開發(fā),小的應(yīng)用軟件更是切瓜砍菜,小菜一碟。
從用戶的角度評估
代碼:真正的專業(yè)程序員。
無代碼:號稱是面向業(yè)務(wù)人員的,但是據(jù)采訪某業(yè)務(wù)人員,我自己的事都忙不完還會操你這個心。
低代碼:面向業(yè)務(wù)人員和專業(yè)程序員,工作之外有編程想法的業(yè)務(wù)人員,實習(xí)生和被忽悠了的程序員,受領(lǐng)導(dǎo)安排的程序員。
AI提示代碼:面向?qū)I(yè)程序員,提高程序員的工作效率。
AI低代碼:面向業(yè)務(wù)程序員,首先是程序員,其次是注重于需求的理解和業(yè)務(wù)的實現(xiàn)的程序員,因此具體的技術(shù)實現(xiàn)細(xì)節(jié)都被封裝,實現(xiàn)的難點和業(yè)務(wù)邏輯可以通過AI進行輔助完成,程序員的未來是面向業(yè)務(wù)的全棧工程師。
從前景的角度權(quán)衡
這里就不一一比較了,相信大家自有判斷,總之,未來已來,擁抱變化吧!