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