鼠標點擊式編程歷來是編程界的新趨勢。簡而言之,這是一種編程方法,將現成的代碼模塊組合起來、形成一個新的軟件。不用說,這種編寫程序的方法遠非完美。首先,從事這種編程的程序員可能甚至不知道那些模塊中有什么。這導致了兩個基本問題:一是無意或有意的錯誤或缺陷(bug),二是無法正常運行的糟糕代碼。
前者歸因于模塊可能針對不同的場景編寫,會導致程序在有別于預定場景的場景中運行緩慢。如果是操作型負載,尤為如此。后者歸結為這樣事實:程序員查看代碼塊可能不夠仔細,這為隱藏的后門允許黑客黑入系統埋下了隱患。如果缺少適當的測試,它們大部分時間不會被人注意到。
目前,我們擁有GitHub、Copilot、DeepMind和AlphaCode之類的開源代碼庫。它們充當代碼數據庫,人工智能(AI)可以使用它們來編譯自己的代碼。
AI在編程方面能提供什么幫助?
AI在這里可以做什么呢?首先,AI可以編寫測試,分階段對流行威脅進行建模。其次,AI可以編寫自己的代碼塊,從含有數千個代碼塊(許多代碼塊不夠好)的代碼庫編譯適當的代碼塊。最終,這將節省時間和金錢。
視AI而定,有時AI可以自行編寫優化的代碼,這些代碼在操作中清晰且高效。這種代碼以后處理起來更容易,因為它編寫得很好;如果將來需要實施某些更新,這將節省時間。此外,AI在通過某些參數調整代碼數據庫中的開源代碼方面效率高得多。這使其能夠迅速分析和過濾代碼,并采用最佳實踐以幫助創建將在產品中使用的節省操作資源的代碼。
軟件開發的另一個問題是對客戶及其需求缺乏清晰的了解。由于工作范圍和最終產品的具體細節缺乏明確性,程序員常常不得不進行解釋。AI則讓客戶可以從目錄中選擇所需的參數,創建程序員和項目經理更容易理解的工作范圍。
AI可以取代人類程序員嗎?
這個問題的答案分兩方面。AI可以在一定程度上取代人類程序員,處理復雜性有限的任務。如果您需要使用現有開源代碼數據庫就能復制的簡單產品,可以輕松地依靠AI為您編寫完整代碼。但是面對大型項目,您不能依靠AI為自己做所有工作。在這種情況下,就只能依靠AI作為輔助工具,而不是負責整個開發過程。這意味著大型項目仍需要項目經理和專業人員來監督用戶體驗和前端等方面的工作。
AI 的智力能力在很大程度上不足以解決軟件開發過程中出現的創造性任務,它也無法管理完成產品需要從事的創造性工作量具有的復雜性。但AI肯定會引發IT專家之間的競爭,因為它在基礎任務(比如使用代碼塊)方面能夠與IT專家一較高下。
原文標題:??Can AI Put an End to Mouse-click Programming???,作者:Dmitry Mishunin