构建软件从未如此简单。
您用简单的英语描述一个想法,几分钟之内,一个工作原型就会出现在您的屏幕上。
它有一个用户界面。
它连接到数据库。
它会做你想象的事情。
对于从未写过一行代码的人来说,那一刻感觉就像魔法一样。
对于花费数年时间与编译器和堆栈跟踪进行斗争的人来说,这确实令人惊讶。
该原型在您的笔记本电脑上运行。
它在负载下破裂。
它没有错误处理。
您发现它可能正在泄露您的 API 令牌。
该数据模型对于演示来说很有意义,但在添加第二个用户时就会崩溃。
验证与假设结合在一起。
人们一直担心一切是否安全。
您想要部署它,突然间您发现“这可行”和“这已经准备好了”之间存在鸿沟。
获得原型从来都不是困难的部分 软件工程师总是能够让某些东西快速运行。
需要时间的是其他一切:设计能够大规模运行的系统,处理用户不应该遇到但不可避免会遇到的情况,建立可观察性以便你知道事情何时发生,对数据架构做出深思熟虑的决定,让你在不到三年的时间里后悔。
这些都没有改变。
人工智能极大地加快了第一个工作版本的进程。
它并没有缩短第一个工作版本和生产级版本之间的距离。
之所以会出现这种混乱,是因为旅程早期的反馈循环变得如此之快且如此有益。
你询问,你接收,你看到结果。
这个周期确实令人兴奋,它给人的印象是软件开发的其余部分也必须进行类似的压缩。
事实并非如此。
构建软件的难题从来都不是主要与编写语法有关。
它们是关于判断的:构建什么,如何构建它,推迟什么,何时说不。
这种判断力将振动编码员变成了雕塑家和工匠。
这也是原型与生产级系统的区别。
反对学习计算机科学的误导案例 可以预见的是,人工智能生成代码的可访问性引发了该行业的一波新进入者,他们质疑学习计算机科学是否仍然有意义。
如果你能描述一个可行的应用程序的方法,为什么要花费数年时间研究算法、数据结构、操作系统和理论呢?
计算机科学教育的价值从来不纯粹在于生成代码的能力。
它是在开发一个关于系统如何行为、如何失败以及为什么失败的心理模型。
该模型允许您查看 AI 生成的代码,并认识到它编写的查询将导致对包含 5000 万行的表进行全表扫描。
它使您可以看到它提出的缓存策略将在并发负载下创建竞争条件。
它告诉您,它建议的架构解决了您所描述的问题,但会使下一个问题变得更加困难。
如果没有这个基础,你就完全依赖于模型的判断。
模型没有判断力。
他们具有模式匹配功能,渴望生成它认为符合您意图的代码。
他们将自信地生成看起来正确、遵循约定的代码,如果您不知道自己在寻找什么,那么在生产中会以需要几天时间才能诊断的方式失败。
现在可以说是历史上学习计算机科学的最佳时机,因为理解和输出之间的差距已经缩小。
一个真正掌握分布式系统如何工作的学生现在可以用十年前的一小部分时间来构建一个分布式系统。
🔗 原始来源
如果你要核对细节,可以再看原文: Hacker News AI原文链接
AI热榜