濰坊自動化編程
對我們來說,考慮自動化對編程的未來可能意味著什么很重要。我可以告訴你,編程已經高度自動化,一個好的優化編譯器已經是一個先進的人工智能系統,可以把你的提示轉換成工作代碼。
程序設計不會消失或過時。但它的含義會發生變化。雖然微軟的演示可能表明程序員*終可能會從編寫簡單功能的任務中解放出來,但是代碼生成引擎肯定是由一組程序員(可能是大量)組成的。編寫先進工具(比如Microsoft的編碼引擎本身)的程序員可以放松。設計API的程序員也是如此,因為你仍然需要提供函數/方法簽名。
雖然這個演示可以吐出函數,但是我很少看到任何跡象表明它可以從它所寫的函數中構建一個更大的系統。雖然它有能力調用已編寫函數,但它不能把已編寫規范中的大型程序組合起來。也許能吐出一張簡單的賬單,但肯定不能吐出一個完整的賬單系統。毫無疑問,這可能需要幾十年。普通碼農現在非常安全。
然而,這一壯舉仍然引發了編程意義上的問題。是啊,這就是我們所有人對AI的評價:它會減少花在無聊、重復任務上的時間,花更多的時間進行創造性工作。然而,讓我們來分解一下。大多數程序設計都在詳細說明如何執行某些過程。它可能很無聊,通常是重復的,而且肯定很容易出錯。的確,我們需要更多地考慮程序設計應該是什么。在斯科特看來,程序設計的創造性是什么?
對于編寫代碼和通過代碼行來衡量生產力,我們非常重視鼠目寸光。只要看看我們用來構建、測試、歸檔和部署代碼的所有優秀工具(**必要)。但這些本質上和革命性的工具并不能解決真正的問題:我們是否正在解決正確的問題?成千上萬的應用程序通過了每一個單元的測試,每一個集成測試和每一個驗收測試,但仍然很難使用。并且我們正在學習,我們很少想到軟件的新方面:是否有需要使用我們軟件的團隊?您的軟件支持輔助功能嗎?不能訪問電腦和網絡的人能否使用它?設計系統,使需要使用它的人能夠方便地使用它。同時,我們也需要更多的分析。
程序設計不只是碼和函數。這項工作*重要的部分與面試中在白板上快速排序無關。有很多事情要考慮;目前程序員花太多時間寫代碼以滿足發布日期,而不是思考更大的事情。這幾乎總是別人的工作。但是,無論是否投入生產,微軟的研究都為我們思考編程真正意義提供了機會。