几天前,我在 LinkedIn 上看到一个有趣的标题,其中显示了一个大胆的声明:“科技公司旨在通过 GitHub Copilot 将程序员的生产力提高 50%。”让情况更加奇怪的是,帖子的作者不是程序员。
尽管标题大胆,但我相信这个问题可以引发有趣的分析和讨论。
不可否认,当今公众可用的 AI 工具具有令人印象深刻的功能。在编程领域,他们已经在显着协助开发人员、优化他们的例程并提高生产力。使用正确的工具,可以更快地解决问题。
然而,对于那些不熟悉编程的人来说,这些人工智能工具可能看起来近乎神秘,给人的印象是它们可以快速自动地解决任何问题。但我们知道,现实是完全不同的。
这些工具所产生的热情是完全有道理的,在对我形成误解之前,要知道我也是其中之一。但是,我相信并不是每个人都完全理解这些工具在现实中的能力。
一方面,您有害怕被机器取代的编程初学者。
另一方面,你有 CEO 寻求神奇的解决方案来降低成本或提高生产率,可能没有清楚地了解程序员执行的实际工作。
“ChatGPT(或 Copilot),在 Node.js 中创建一个出售演出门票的页面。后端应该为平均每秒 2,000 个请求做好准备,并且能够应对故障。设置负载均衡器以在分布式之间分配请求服务器。确保缓存功能正常并实际减少服务器负载。仪器实时监控工具。当然,数据库应该采用良好的复制策略进行集群。”
这个例子太夸张了,我知道。但它说明了实现一些对非程序员来说似乎很简单的东西背后的复杂性。
编写代码只是程序员工作的一部分,我相信生成式人工智能在这方面表现出色,但这并不是程序员所做的全部。
作为程序员,我们每天大部分时间都没有编写一行代码。需要先了解新特性的需求,与利益相关者进行对话和调整,设计技术架构,最后将所有这些信息转化为代码。
我们不要忘记,这段代码必须在上下文中编写,考虑到它如何与现有代码库的其余部分相适应。
我的意思是,这些 AI 工具虽然非常有用,但并不神奇。但是他们可以成为程序员的好助手。
Dave Thomas 和 Andrew Hunt 合着的经典著作《The Pragmatic Programmer》极大地拓宽了我对软件工程的视野,其中一本读物。其中一章讨论了一种奇怪的调试技术:橡皮鸭。
橡皮鸭编程背后的基本思想是大声解释你面临的代码或问题,就像你在向橡皮鸭解释一样。通过逐步描述问题或描述代码,您通常会找到解决方案或对问题有新的看法。
ChatGPT 擅长对话,而且在上下文中对话。这种人工智能会不会是戴夫托马斯和安德鲁亨特的橡皮鸭的进化?
已经有与 ChatGPT 集成的 Visual Studio Code 扩展,将其用作橡皮鸭。你可以在这里查看它们。
我喜欢 GitHub 选择将其产品命名为 Copilot 的方式,这与橡皮鸭的概念一致。该工具旨在成为副驾驶而不是真正的飞行员。它是程序员的助手,他们的橡皮鸭。
这条信息送给那些对自己编程生涯的未来感到焦虑和担忧的人:放轻松!但不要放松太多,因为严酷的现实是软件工程的基础造就了一个优秀的程序员,而不仅仅是代码。
随着 70 年代和 80 年代计算机在普通大众中的普及,会计和金融专业人士感受到了电子表格软件的威胁。一台可以存储数千行和列并且永远不会出现计算错误的机器。谁会拒绝呢?
的确,电子表格过去和现在都很强大,它们确实对“电子表格编写者”的工作构成威胁。然而,那些解释数据、了解业务背景并应用会计概念的人当然知道如何使用电子表格而不是批评它们。
程序员不仅仅是代码编写者。不要害怕你的新橡皮鸭;相反,使用它。感谢 ChatGPT 帮助我整理这篇文章。
也发布在这里