17611538698
webmaster@21cto.com

初学者实际上已经无法再进行编码

人工智能 2 134 2025-02-22 04:36:34

图片

导读:本文是篇深度文章,关于程序员如何使用AI解决问题的。如果你特别依赖AI,那这篇文章适合你。如果你是一名初学者或新手开发者,那本篇更加适合你哦。

有些事儿一直困扰着我,这是我需要和新手开发人员讨论的一件事,当然老兵们也可以参与。

从事实上讲,我们正处于软件开发的一个“奇怪”的转折点。

和我交谈过的每一位初级开发人员都全天候使用 Copilot、Claude 或 GPT。他们交付代码的速度是比以往任何时候都快了。但是当我深入了解他们对自己交付的内容的理解时,事情就变得有些令人担心或担忧了。

当然,代码可以跑起来,但要问为什么它能这样运行而不是其他方式?回答就毫无进展。我再问是不是有极端情况?他便给我一脸茫然。

过去通过努力解决问题而获得的基础知识,现在却……消失了。

我们正在用深刻的理解来换取快速的解决方案,虽然目前感觉很棒,但我们以后一定会为此付出代价。

当我们真的需要思考的时候


我最近意识到,整整的新一代程序员可能都不知道 StackOverflow 是什么。


当“克劳德(Claude)”还不是聊天机器人而是信息熵领域的发明者时,还有另外一种调试编程问题的方法。


我们不妨来回味一下。

首先,在 Google 上搜索;然后,你希望有“绝望”的人提出过和你类似的问题;如果他们真的提出过你要的问题,你会在这个名为“Stack Overflow”的网站上找到一位睿智的老人给出的详细、深思熟虑(且往往傲慢地)的答案。


以下是我 12 年前提出的一个问题。请参阅 Nathan Wall(他获得了 10,000 多分,自 2015 年以来一直担任CTO)的最佳答案:


Stack Overflow 问答

Stackoverflow 图例:

https://stackoverflow.com/questions/12227594/what-is-the-difference-between-unary-plus-numberx-and-parsefloatx

帮自己一个忙,去读一读,你可能会学到一些新东西。

你能想象有人写了这么详细的答案吗?原始的,没有任何人工智能?而且是免费的?


当然,我最初的问题得到了彻底的回答,但他并没有就此止步。我学到了很多新知识。有些知识我甚至根据不知道,有些知识我甚至不想知道,但现在它们永远铭刻在我的脑海里。

如果你有问题,这是最好的情况。如果您偶然遇到一个特别困难的问题,并且找不到已经回答过你的问题的人,那么运气真不好。


979


“古人的智慧”

如今的初级开发人员很轻松。他们只需访问chat.com并复制粘贴他们看到的任何错误即可。即使是更懒惰的人也不会花 30 秒的时间切换到浏览器窗口,他们只需使用一个可以在一个地方完成所有操作的工具即可。


真是方便又快捷。但是,StackOverflow 仍然有一个更优越的原因:

阅读经验丰富的开发人员关于你发表主题的讨论是最好的学习方式。

下面的图表,可以解释我想说的意思:

速度与知识

人工智能可以为你提供答案,但你获得的知识却很肤浅。

使用 StackOverflow,你必须阅读多位专家的讨论才能全面了解情况。虽然速度较慢,但你不仅了解了什么方法有效,还了解了为什么有效。

想想你认识的每一位优秀开发人员。他们是通过复制解决方案而变得如此优秀的吗?不,他们是通过深入了解系统并理解其他开发人员的思维过程而达到这一水平的。这正是我们正在失去的。

我并不是想成为那种抱怨“现在的孩子”的人。我每天都在使用人工智能工具。我真的在开发一个(https://nmn.gl/blog/giga)。

但是,我们需要诚实地对待,为了这种便利而牺牲了什么。

我们能做什么?

我一直在尝试解决这个问题的方法(因为我们需要面对现实吧,人工智能不会消失)。

以下,是对我们实际有效的方法:

首先,以学习的心态使用人工智能。当它给你答案时,询问它。问它为什么。当然,这需要更长的时间,但这正是重点所在。

接下来,找到你的部落。Reddit、Discord、Mastodon——这都是聪明人聚集的地方。在那里你会发现真正的讨论,那些让你说“啊,我从来没有这样想过”的讨论。

以不同的方式进行代码审查。不要只检查代码是否有效,而是要与团队展开对话。他们考虑过哪些其他方法?为什么他们选择这种方法?让理解过程与最终结果一样重要。

有时候,一切都是从头开始构建的。是的,人工智能可以为你生成该身份验证系统。但请先尝试自己构建一个。你会写出更糟糕的代码,但你会理解其中的每一行。这种知识是累积的。

期待

现实情况是这样的:加速已经开始,我们对此无能为力。开源大语言模型正在接管,我们将在不知不觉中拥有通用人工智能。

但是,这并不意味着让它使我们成为糟糕的开发人员。

未来并不取决于我们是否使用人工智能,而取决于我们如何使用它。也许,只是也许,我们可以找到一种方法,将人工智能的速度与我们需要学习的理解深度结合起来。

如果你找到了其他方法来平衡这个问题,请告诉我。或者告诉我,我只是一个对着云彩大喊大叫的老头。

不管咋样,让我们一起解决这个问题吧!

作者:聆听世界的羊

原作者:

Namanyay,从十四岁起成为一名专业开发人员,现在致力于构建 AI 工具来增强人类潜能。我撰写有关技术、初创企业和工作未来的文章。

X平台:

https://x.com/namanyayg

参考:

https://nmn.gl/blog/ai-and-learning

评论