21CTO导读:我们过去花时间用代码解决问题,现在我们却成了没人真正理解的代码的维护者。
软件的开发方式在发生变化,不管我们喜欢与否,也不管这种变化是好是坏,人工智能编程在某些公司已经占据主导地位,但在我看来,它带来的问题比解决的问题还要多。而我们目前面对的,从所有这些生成的代码来看,这些问题解决起来并不那么有趣。
这就是我为什么说它“无聊”的原因。
我们来回想一下,曾经做程序员是多么令人兴奋和光荣。
我不去追溯太久远的从前,因为我大约在2005年才开始编程,但即便如此,现在也感觉像是上个世纪的事了。我们那时写的代码并不完美,但我们非常重视它,每一行代码都经过深思熟虑,每一笔内存分配都经过仔细计算。
我们会花上好几天的时间来确保代码的稳定性。我并不是说那时没有截止日期,截止日期依然存在,这一点从未改变。而且,只有极少数人真正懂得如何编写优秀且高效的程序。这就是为什么程序员这份工作令人感到热情与光荣。
但如今呢?现在每个人都可以通过访问LLM(可能是指某个网站或软件)并支付少量费用购买代币来生成代码。
从某种意义上说,程序员这个职业发生了翻天覆地的变化,它已经变成了一个尚未完全成型的全新职业。试想一下,你花了数年时间成为一名烹饪大师,精益求精,却有一天发现自己的工作变成了品尝机器烹饪的菜肴。幸运的是,烹饪界并没有像编程界那样发生巨变。
好了,感性的开场白就到此为止,让我们来看看这些问题,顺序不分先后。由于没有太多答案,我想留给大家讨论或思考。
写这篇文章的时候,我打开了我的 StackOverflow 账号,想看看它还在不在,这让我意识到我曾经为了回答和提出那么多问题付出了多少心血。这一切又是为了什么呢?难道是为了让 Sam 和 Dario 不加任何署名就直接抄袭吗?
以前:
问题 → 研究/阅读/思考 → 解决方案
现在:
问题 → 解决方案
有了如此高效的解决方案捷径,我们该如何调动大脑的积极性呢?似乎在大多数情况下,这一步都被完全忽略了。
给审阅者一个 10 行的 Pull Request,他会发现 10 个问题;给他一个 500 行的 Pull Request,他会说“LGTM”(看起来不错)。
我的主要原则一直是尽量减少代码量,但人工智能却做不到这一点,它只会不断添加东西,导致代码库臃肿、构建和测试速度缓慢。
这不仅仅关乎代码库。由于请求新功能如此便捷,代码库中现在充斥着大量未使用的功能,而且这些功能之间还相互冲突。令人遗憾的是,这种情况并非立竿见影。人工智能最初会带来显著的性能提升,但随后却暴露出所有这些问题。它就像代码库的毒品。
你能在这个过程中发现哪个是“知名”程序员吗?反正我没发现。
现在,管理者们对交付更多、更快的成果抱有更高的期望,因为我们有了人工智能,对吧?好像生成代码曾经是个障碍似的。因此,每个人都更加努力,这导致了问题2,并由此引发问题3。
所以,这些就是我们需要着手解决的问题,它们将重新定义程序员的角色。
你可能会问:“那为什么说这很枯燥呢?”我的回答是:过去我们花时间用代码解决问题,而现在我们却成了代码的维护者,而这些代码根本没人真正理解。
作者:场长
本篇文章为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 微信公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。
请扫描二维码,使用微信支付哦。