金湾杂文

不计利害,但问是非
正文

胡思乱想录十一 -- 下一代还需学编程吗?

(2024-03-15 21:18:40) 下一个

马斯克和黄教主都说下辈子没必要学编程了, 他们的理由很充分: 一来人工智能已经帮你做了,还需要学它作甚?二来,编程语言已经变成自然语言,要人工智能干啥,自然对话即可。我不是大V,但编程二十余载,多少有些心得, 我倒觉学校应该把编程例如基础教学大纲(cirriculum),让每个孩子都学一下。我的理由如下:

 

其一,如同很多高科技,我们往往远远低估科技的生命力,就如当年科技大佬对电灯,对PC,对互联网的判断一样, 将来需要用到编程的地方只会越多,不会越少。用电如此,半导体芯片的用量如此,软件的代码行数亦如此。

 

其次,用自然语言指使大模型实现某一不太复杂的任务的效率永远不可能比写几十行代码来的高,如果你会编程的话。就像用自然语言描述一个数学定理,永远不如一个等式来的简洁,如果你会数学。我判断仍然会有足够多的场景,会编程依然给你一个更高的效率。当然又会编程又会大模型prompt,肯定在效率上加分更多。

 

第三,编程的训练会强制学生学会逻辑思维,这种对逻辑思维的强调比数学更直接明了,对数学不强的文科生反而更适合。

 

总的来说,我更喜欢乔布斯的那句“programing is like a liberal art”,在二十一世纪的今天,让孩子们多上这么一门“liberal art”,此生只会受益。

 
[ 打印 ]
阅读 ()评论 (13)
评论
魔都斩妖 回复 悄悄话 就算编程不需要人,设计算法逻辑在几百年里还是需要人,所以学好数学是必须的。
GuoLuke2 回复 悄悄话 自然语言比编程语言难多了
泥川 回复 悄悄话 当然可以把一切都定义成自然语言。但这么说,在他们看来,是混淆概念。他们认为两者是有严格区分的。否则,说用自然语言代替编程语言,就是误导大众。
voiceofme 回复 悄悄话 自然语言本身就是符号系统,和数学公式,化学公式,没有本质的区别。

自然语言本身是有歧义的,但用在某特定方面的时候,歧义会消失。

特别是,可以被人类在某些领域的特定符号系统,比如数学公式,看成是自然语言的扩展。

实际上,现在GPT4可以理解和产出数学公式。编程也是同样的道理。
泥川 回复 悄悄话 自然语言是古代发明的,描述人的活动和简单自然界。虽然近代有扩展,但是它的描述能力实在是太有限了。所以数学物理要用符号系统,几何用图形,化学用反应式,分子结构图。计算用编程语言。

AI也无法超越自然语言的局限。
cowwoman 回复 悄悄话 现在孩子们学编程就是以后看着AI编程。就跟看护机器生产线的操作工类似。
iask 回复 悄悄话
“怎样描述问题,从而让AI去寻求正确答案” 才是关键问题!只要是中等规模的应用程序, AI根本无法理解人们究竟想干什么

编程语言不是主要问题。
GoBucks! 回复 悄悄话 马黄的说法是对的。程序肯定不会死亡,各种应用都需要程序在背后,包括AI,除非找到更好的办法。比如人脑没有程序编码,但可以做不少事情,这个人类还无法用制造。 将来程序肯定不需要那么多人去写,完全可以自动完成,但是算法设计应用还需要靠人。将来的程序语言也会减少,大规模模块化,能够互相操作,增加重复使用率。总之,程序不会死亡,但界面会非常友好,比如你通过语言,背后就可以自动组成需要的程序,当然这部分需要维护,比起用户则少很多。
forer 回复 悄悄话 本人是程序员,不看好眼下使用的各类程序语言。
我认为AI取代程序员的过程,并不是让AI去写各种各样的程序语言,再使用目前各种语言的编译器来编译,而是直接生成目标二进制代码,或是各种图形(芯片版图,各种CAD的输出图形),或是各种波形(实时控制)等。
数学语言是自然语言的子集,它足够精确和抽象,用来描述任意一个程序功能一点都没问题。AI完全可以理解一个用数学语言描述的过程,然后跨过所有中间形式的代码,达到所要的目标。
诚信 回复 悄悄话 "将来需要用到编程的地方只会越多,不会越少。"

完全同意。

马斯克和黄教主都是在为了公司股票和商业利益,博取媒体话语权,而胡说八道而已。

voiceofme 回复 悄悄话 编程语言是需要,但不是说一定要人去用编程语言写程序,AI 也可以用这编程语言写程序。 程序员就不需要了。
泥川 回复 悄悄话 所以不是不要编程语言,而是需要新的编程语言。
泥川 回复 悄悄话 完全同意。

古代自然语言表达勾股定理:“求邪至日者,以日下为勾,日高为股,勾股各自乘,并而开方除之,得邪至日”。 用符号表达:x2+y2=z2。哪个简明?

为什么数学要用符号,不用自然语言?当然因为自然语言繁琐,不精确,歧义,说不清。符号系统发明出来,就是让数学能更简明,精确,有效地表达。

用自然语言编程,类似,也很难把一些算法简明,准确说清楚。因为本来就不是干这个用的。

所以还是需要作为符号系统的一种编程语言。只是有AI协助,这种编程语言可以在更高层次描述编程意图。
登录后才可评论.