- 主题:认为 AI 将会代替程序员的怎么解释《没有银弹》?
最近 AI 的进展,让很多人一下子变得非常乐观,认为将来可以使用 AI 代替程序员进行软件设计。软件的生产率将会大大提高。但在几十年前已经有《人月神话》以及《没有银弹》说明了软件工程内部的本质复杂性。AI 看起来只是稍微解决了软件工程的附属工作复杂性,并没有解决软件工程的本质复杂性,凭什么能够代替程序员呢?
我们公司已经买了多份 copilot,目前看起来只是能够稍微提升生产率,离真正带来生产率的巨大飞跃还远着,因为它有个逻辑悖论:
如果一段代码是可以 copilot 生成的,那么它有比较大的可能性是通用性代码。那么,如果是通用性代码,难道不是应该尽量找个第三方库把事情做得更好吗?
: 《没有银弹:软体工程的本质性与附属性工作》(英语:No Silver Bullet—Essence and Accidents of Software Engineering)是IBM大型电脑之父佛瑞德·布鲁克斯所发表一篇关于软体工程的论文,原先是在1986年都柏林IFIP研讨会的一篇受邀论文[1][2],隔年电机电子工程师学会《Computer》也转载了这篇文章,他们用了几张《伦敦狼人》之类的电影剧照来当作说明[3],还加上了一段〈终结狼人〉的附注,用来引出非银弹则不能成功的(现代)传说。该论述中强调由于软体的复杂性本质,而使真正的银弹[注 1]并不存在;所谓的没有银弹是指没有任何一项技术或方法可使软体工程的生产力在十年内提高十倍。
--
FROM 110.81.0.*
copilot对我来说最重要的用处就是补全printf的format string,猜得贼准。
--
FROM 158.140.1.*
感觉这种AI,能帮人更好的应用知识,但创造新知识解决问题,感觉还差很远
【 在 hgoldfish 的大作中提到: 】
: 最近 AI 的进展,让很多人一下子变得非常乐观,认为将来可以使用 AI 代替程序员进行软件设计。软件的生产率将会大大提高。但在几十年前已经有《人月神话》以及《没有银弹》说明了软件工程内部的本质复杂性。AI 看起来只是稍微解决了软件工程的附属工作复杂性,并没有解决软件工程的本质复杂性,凭什么能够代替程序员呢?
: 我们公司已经买了多份 copilot,目前看起来只是能够稍微提升生产率,离真正带来生产率的巨大飞跃还远着,因为它有个逻辑悖论:
: 如果一段代码是可以 copilot 生成的,那么它有比较大的可能性是通用性代码。那么,如果是通用性代码,难道不是应该尽量找个第三方库把事情做得更好吗?
: ...................
--
FROM 111.206.87.*
国内软件项目经理对软件系统的认知都太浅薄了,建议这两本书成为IT经理的必读物
哪怕了解下基本的布鲁克斯法则,能够降低很多和开发之间的沟通障碍
【 在 hgoldfish 的大作中提到: 】
: 最近 AI 的进展,让很多人一下子变得非常乐观,认为将来可以使用 AI 代替程序员进行软件设计。软件的生产率将会大大提高。但在几十年前已经有《人月神话》以及《没有银弹》说明了软件工程内部的本质复杂性。AI 看起来只是稍微解决了软件工程的附属工作复杂性,并没有解决软件工程的本质复杂性,凭什么能够代替程序员呢?
: 我们公司已经买了多份 copilot,目前看起来只是能够稍微提升生产率,离真正带来生产率的巨大飞跃还远着,因为它有个逻辑悖论:
: 如果一段代码是可以 copilot 生成的,那么它有比较大的可能性是通用性代码。那么,如果是通用性代码,难道不是应该尽量找个第三方库把事情做得更好吗?
: ...................
--
FROM 116.25.106.*
你说“将”,这个时间范围就大了去了。AI超过人类智能毫无疑问,即使复杂性仍然存在也不妨碍AI比人类程序员更擅长处理这些复杂性。
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 最近 AI 的进展,让很多人一下子变得非常乐观,认为将来可以使用 AI 代替程序员进行软件设计。软件的生产率将会大大提高。但在几十年前已经有《人月神话》以及《没有银弹》说明了软件工程内部的本质复杂性。AI 看起来只是稍微解决了软件工程的附属工作复杂性,并没有解决软件工程的本质复杂性,凭什么能够代替程序员呢?
:
: 我们公司已经买了多份 copilot,目前看起来只是能够稍微提升生产率,离真正带来生产率的巨大飞跃还远着,因为它有个逻辑悖论:
:
--
FROM 124.78.192.*