写点什么

AI 与不求甚解的新手开发者

作者:Namanyay

  • 2025-03-27
    北京
  • 本文字数:1589 字

    阅读完需:约 5 分钟

AI 与不求甚解的新手开发者

关于新的开发者如何学习,有些事情一直困扰着我,我想探讨一下。


我们正处于软件开发的一个奇特的转折点。我接触的每一个初级开发者都在使用 Copilot、Claude 或 GPT。他们交付代码的速度比以往任何时候都要快,但当我深入了解他们对自己交付内容是否理解时,情况就变得令人担忧了。


当然,代码可以运行,但当被问及为什么它以这种方式运行,而不是另一种方式时,却是一片沉寂。当提到边缘情况时,更是茫然无措。


过去开发者通过解决难题积累的基础知识,如今似乎不复存在了。


我们正在用快速修复代替深入理解,虽然在当下感觉很棒,但未来终将为此付出代价。

回到需要思考的年代


我最近发现,有很多新生代程序员甚至不知道 StackOverflow 是什么。


回到“Claude”不是聊天机器人而是信息熵领域发明者的时代,解决编程问题的方式是完全不同的。


首先是在谷歌上搜索,然后希望某个同样遇到难题的开发者曾提出过类似问题。如果运气不错,你会在 Stack Overflow 上找到一个详细且经过深思熟虑(虽然有时回答问题的人让人有点居高临下的感觉)的答案。


这是 12 年前我提出的一个问题。看看 Nathan Wall 的高赞回答(他赚了 10000 多分,是 StackSource 联合创始人兼 CTO):



你能想象有人会不借助 AI,仅凭自己的知识,写出如此详细且高质量的答案吗?而且还是免费的?


我的问题得到了彻底的解答,但他并没有就此止步。我学到了许多新的东西,有些是我从未听说过的,有些甚至是我原本不想知道的,但现在它们永远刻在了我的脑海里。


这是你在有疑问时能遇到的最好情况。如果你遇到一个特别棘手的问题,却找不到已经有人回答过,那就只能自认倒霉了。



现在的初级开发者日子好过多了。他们只需要打开 chat.com,直接复制粘贴他们遇到的错误信息。更懒惰的人甚至都不需要花那 30 秒切换到浏览器窗口,直接在同一个工具中完成所有操作。


这既方便又快速。


但是,StackOverflow 仍有一个独特的优势:


阅读经验丰富的开发者对你所关心主题的讨论是一种学习新知识绝佳的方式。


可以用这张图表来解释我想表达的意思:



AI 给了你答案,但你获得的知识变得浅薄了。而在 StackOverflow 上,你需要阅读多位专家的讨论才能获得问题的全貌。这个过程虽然较慢,但最终你会明白,不仅是什么方法有效,更重要的是为什么它有效。


想一想你认识的每一个伟大的开发者,他们是靠复制粘贴解决方案而变得如此优秀吗?不,他们之所以出色,是因为深入理解系统和其他开发者的思考过程。而这正是我们正在失去的东西。


我不是想成为那个抱怨“现在的年轻人”的那种人。我每天都在使用 AI 工具,甚至也在开发一个。但我们需要诚实地面对我们为了获得这种便利而放弃调的东西。

我们能做些什么?


我一直在寻找解决方法(我们不得不面对 AI 无处不在的事实)。而真正有效的方法是:


首先,带着学习的心态去使用 AI。当它给你答案时,问它为什么。当然,这需要花费更长的时间,但这就是关键所在。


接下来,找到你的部落。Reddit、Discord、Mastodon——无论聪明人在哪儿聚集,那儿就是真正讨论发生的地方。那些讨论会让你忍不住感叹:“嗯,我从没这么想过。”


用一种不一样的方式进行代码评审。不要只关心代码是否有效,而是要与团队展开深入对话。他们考虑过哪些其他方法?为什么选择了当前的方案?理解过程和最终结果同等重要。


有时候要尝试从头开始构建东西。AI 确实可以为你生成认证系统,但先试着自己动手写一个。你可能会写出更糟糕的代码,但你会理解每一行代码背后的逻辑。这些知识会不断积累起来。

展望未来


这是现实:AI 加速已经开始,我们无法阻止它。开源模型正在接管一些东西,我们将在不知不觉中在我们的口袋里运行 AGI。但这并不意味着我们必须因此让自己成为更差的开发者。


未来的重点不在于我们是否使用 AI,而在于如何使用它。也许,只是也许,我们可以找到一种方法,将 AI 的速度与我们需要学习的深度理解结合起来。


原文链接:

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

2025-03-27 08:004505

评论 1 条评论

发布
用户头像
不对,以前我们只需要debug人类编写的代码,现在我们还要debug AI辅助生成的代码。
2025-03-27 11:03 · 广东
回复
没有更多了

java好还是嵌入式好?做IT开发该如何选择

cdhqyj

Java 编程 发展 开发 嵌入式

在深圳,看见大鲸跃起的浪潮

工业互联网

Flink SQL 在网易云音乐的产品化实践

Apache Flink

flink

字节跳动单点恢复功能及 Regional CheckPoint 优化实践

Apache Flink

flink

彩色图像的二值化,取经之旅第 6 天

梦想橡皮擦

28天写作 3月日更

开发也要防“沉迷”?IDEA插件教程详解

京东科技开发者

Java 开发 IntelliJ IDEA

数据库周刊62丨央企2021年数据库成交公告,国产占90%;流数据库HStreamDB开源;MySQL主从双写导致数据丢失;Oracle 19c升级最佳实践;PG日常工作分享;MySQL MGR运维指南;SQL语法手册……

墨天轮

MySQL 数据库 sql postgre

力扣(LeetCode)刷题,简单题(第15期)

不脱发的程序猿

LeetCode 编程之路 28天写作 算法面经 3月日更

基于感染原理判断图的连通性算法

大奎

图算法 子图 连通性

vivo 应用商店推荐系统探索与实践

vivo互联网技术

架构 推荐系统 服务器

对于移动开发,人工智能的到来意味着什么?

故胤道长

人工智能 机器学习 ios开发 Android开发

Cobar SQL审计的设计与实现

捉虫大师

Disruptor Skywalking cobar 数据库中间件

基于数组或链表实现Map

Silently9527

数据结构和算法

翻译:《实用的Python编程》07_03_Returning_functions

codists

Python

跟随报文,开启一段奇妙之旅

华为云开发者联盟

报文 Windows主机 路由器 Linux主机 路由表

基于NA公链(Nirvana)的应用和NAC公链社区共识探究公链的发展未来

区块链第一资讯

微信聊天记录里的文件又失效了?试试这个文件同步开源项目吧

HelloGitHub

开源 文件传输 Go 语言

墨天轮精选:数据库问答集萃第一期-2021

墨天轮

MySQL 数据库 sql dba

uni-app跨端开发H5、小程序、IOS、Android(六):uni-app事件绑定

黑马腾云

微信小程序 uni-app 大前端 iOS Developer 3月日更

力扣(LeetCode)刷题,简单题(第16期)

不脱发的程序猿

面试 LeetCode 28天写作 算法面经 3月日更

Swagger增强神器:Knife4j!用它轻松实现接口搜索、Word下载、接口过滤...

王磊

Java swagger Knife4j

LiteOS:剖析时间管理模块源代码

华为云开发者联盟

时间管理 时间 LiteOS huawei 任务

一文了解数据库资源管理技术

华为云开发者联盟

数据库 存储 GaussDB(DWS) 资源管理

书单|互联网企业面试案头书之架构师篇

博文视点Broadview

架构

【IstioCon 2021】最佳实践:从Spring Cloud 到 Istio

华为云原生团队

开源 Kubernetes 云原生 istio 服务网格

EGG公链强势来袭!去中心化社交革命先驱EFTalk

币圈那点事

【LeetCode】位1的个数Java题解

Albert

算法 LeetCode 3月日更

ThreadLocal 慌不慌?

叫练

JVM ThreadLocal 引用 软引用

宣传

Ashley.

分布式任务 + 消息队列框架 go-queue

万俊峰Kevin

微服务 分布式任务 消息队列 Go 语言

技术实践丨Prometheus+Grafana搭建HBase监控仪表盘

华为云开发者联盟

开源 Grafana Prometheus HBase 开源数据库

AI 与不求甚解的新手开发者_AI&大模型_InfoQ精选文章