馬斯克和黃教主都說下輩子沒必要學編程了, 他們的理由很充分: 一來人工智能已經幫你做了,還需要學它作甚?二來,編程語言已經變成自然語言,要人工智能幹啥,自然對話即可。我不是大V,但編程二十餘載,多少有些心得, 我倒覺學校應該把編程例如基礎教學大綱(cirriculum),讓每個孩子都學一下。我的理由如下:
其一,如同很多高科技,我們往往遠遠低估科技的生命力,就如當年科技大佬對電燈,對PC,對互聯網的判斷一樣, 將來需要用到編程的地方隻會越多,不會越少。用電如此,半導體芯片的用量如此,軟件的代碼行數亦如此。
其次,用自然語言指使大模型實現某一不太複雜的任務的效率永遠不可能比寫幾十行代碼來的高,如果你會編程的話。就像用自然語言描述一個數學定理,永遠不如一個等式來的簡潔,如果你會數學。我判斷仍然會有足夠多的場景,會編程依然給你一個更高的效率。當然又會編程又會大模型prompt,肯定在效率上加分更多。
第三,編程的訓練會強製學生學會邏輯思維,這種對邏輯思維的強調比數學更直接明了,對數學不強的文科生反而更適合。
總的來說,我更喜歡喬布斯的那句“programing is like a liberal art”,在二十一世紀的今天,讓孩子們多上這麽一門“liberal art”,此生隻會受益。
自然語言本身是有歧義的,但用在某特定方麵的時候,歧義會消失。
特別是,可以被人類在某些領域的特定符號係統,比如數學公式,看成是自然語言的擴展。
實際上,現在GPT4可以理解和產出數學公式。編程也是同樣的道理。
AI也無法超越自然語言的局限。
“怎樣描述問題,從而讓AI去尋求正確答案” 才是關鍵問題!隻要是中等規模的應用程序, AI根本無法理解人們究竟想幹什麽
編程語言不是主要問題。
我認為AI取代程序員的過程,並不是讓AI去寫各種各樣的程序語言,再使用目前各種語言的編譯器來編譯,而是直接生成目標二進製代碼,或是各種圖形(芯片版圖,各種CAD的輸出圖形),或是各種波形(實時控製)等。
數學語言是自然語言的子集,它足夠精確和抽象,用來描述任意一個程序功能一點都沒問題。AI完全可以理解一個用數學語言描述的過程,然後跨過所有中間形式的代碼,達到所要的目標。
完全同意。
馬斯克和黃教主都是在為了公司股票和商業利益,博取媒體話語權,而胡說八道而已。
古代自然語言表達勾股定理:“求邪至日者,以日下為勾,日高為股,勾股各自乘,並而開方除之,得邪至日”。 用符號表達:x2+y2=z2。哪個簡明?
為什麽數學要用符號,不用自然語言?當然因為自然語言繁瑣,不精確,歧義,說不清。符號係統發明出來,就是讓數學能更簡明,精確,有效地表達。
用自然語言編程,類似,也很難把一些算法簡明,準確說清楚。因為本來就不是幹這個用的。
所以還是需要作為符號係統的一種編程語言。隻是有AI協助,這種編程語言可以在更高層次描述編程意圖。