为什么编程那么难?是我脑子不行吗?

简介:

“现在,导航到那个你希望程序在终端中打开的小文件夹。好的,下面需要在PATH文件夹中创建符号链接,但是,在我们创建之前,先使用nano ~/.bash_profile来检查配置文件。”

在我的大脑还在全速运转消化理解这些意思拼凑出连贯的指令之前,讲师已经转移到下一个主题。

“什么快捷键可以再次打开终端?命令和空格键——快点在Mac电脑上试试。”

咬紧了牙,尽量不去想已经拉下了多少Treehouse讲师的内容,我开始第八百次手忙脚乱地打开谷歌去查找键盘命令。

“我只是不擅长而已”,我告诉自己, “一定是我的脑子不善于逻辑思维。”

这本来只是一个入门教程——为什么我会觉得这么难?

无论是学习在线课程,参与IRL,还是同事和朋友教我编程概念,这样的场景对于我而言并不罕见。最后总是以愚蠢,沮丧和恼怒的感觉告终,浪费了他们宝贵的时间来帮助我这根“不可雕的朽木”。

大多数会话都会在我鼓睛暴眼不能自抑地想要脱口而出说“我再也不干了”,却又被我硬生生地咽回喉咙中之前,突然结束。可悲的是,大多数时候我离完成模块,离让app工作,离突破其实已经只剩几个阶段了——但为时已晚。损害已经造成。

所以,我一直在想,这是为什么呢?为什么学习编程会这么难?

我觉得这不是一个直接性的问题,没有直截了当的答案,但对于我自己为什么不能将编码当作一个简单的技巧来获取,我有一些自己的见解。我也在Twitter社区上征求别人的看法,并得到了热烈的响应:

写过一篇文章@raygunio关于为什么“学习代码”会这么难。为什么有时候你会认为这是一个如此艰巨的挑战?
——Hilary Rose(@hilary_cook)2015年7月16日

所以,结合这些智慧的精华,我总结出为什么我会觉得编程如此之难的要点:

那种“这么简单——我无法想象你居然不知道”的态度

你正在思考一些你百思而不得其解的问题——数学公式,编程问题,外语语法,东南亚的政治制度……

然后一些自以为聪明绝顶的家伙出现了,鄙夷地看着你,打断你的沉思,大呼小叫:

“哦,这太简单了”

呵呵。这样一来,心情就完全不同了。你必须努力理解手头所谓“简单”的工作——人人都这么认为,除了你。

甚至可能更糟:

“我无法想象你居然不知道HTML中的图形元素——当然,并不是说HTML就是真正的编程语言”

严肃说来,HTML是否被认为是“真正”的编程语言并不重要——它依然是一种需要学习的新技能。尝试新的东西是非常可怕的。你需要在处于这种未知的弱势地位时也敢于勇往直前,而且失败和不确定也没有关系—— 事实上,它们都是成功的重要组成部分。

那么如何处理高科技产业中的“我无法想象你居然不知道”这种态度?要想确切地掌握编程语言的每一个特质是不可能的——它们是野性难驯的猛兽。所以他们凭什么像这样贬低人呢?也许他们只是害怕会被我们发现他们也有不知道的东西。

万事开头难,这是很正常的。正如《Jake the Dog》说过的这样一句话,“吸取知识是擅长它的第一步骤”。非常正确。

“左脑和右脑”的争执

当遇到解决不了数学和编程问题时,我最喜欢使用的借口是:

“我之所以不明白这一点,是因为我有一个创造性的大脑。而编程是逻辑性的,我的大脑只是不习惯这种思维方式”

我深信,我擅长写作和绘画,是因为我是一个创造性的左脑思考者,至于我总是苦苦挣扎于数学和编程类学科,则是因为它们主要是右脑活动——然而现在却有大量的证据表明,这是一种已经过时的思考方法。

Belle Beth Cooper在《揭穿关于程序员大脑的谬论》一文中,通过调查这些关于程序员的头脑如何工作的常见谬论,指出:“我们大脑的两个半球有着千丝万缕的联系。双方是相互依存的,大多数思维过程都需要两者的参与”。

所以,会不会就是因为我认为自己更善于创造性的事情,才会导致我愿意多多地练习,从而变得擅长的呢?俗话说得好:“无论你认为自己能做到,还是认为自己做不到…..就要看你怎么暗示自己了”。

编程就是难

“不要相信任何人 关于学习代码很容易的谎话”

最近很多文章都在鼓吹关于“任何人都可以学习代码”的“奇思妙想”,从而鼓励更多的人加入这个从前看似遥不可及的行业,但是如果你坚持认为编程是一种易于学习的简单技能,那可能就会南辕北辙。

正如Kate Ray在她的文章所说的那样,“作为一个程序员,需要学习的东西是无限的”——并且一种不能满足的持久遗憾感,即使是该领域的专家也时常会有。

不过,对于那些刚刚起步的新手而言,还是有好消息的,那就是虽然需要学的东西很多,学习中也会遇到各种挑战,但是,你可以——一步一步来。不要试图一下子掌握所有内容,设定那种如’我要学习如何编写代码’这种不明确的目标——目标应该更具体,并将任务分解成更小的任务。

所以与其难过自己还是无法理解JavaScript——还不如,先将学习的重点放在关于如何让我的静态博客变得互动起来的具体内容上。然后再到下一个步骤。虽然一开始会很糟,但我依然相信功夫不负有心人,good luck。


作者:小峰

来源:51CTO

相关文章
|
存储 安全 数据安全/隐私保护
浅谈对称加密(AES与DES)
浅谈对称加密(AES与DES)
530 1
|
11月前
|
JSON 监控 JavaScript
开发者必备的 WebSocket 指南
WebSocket 是一种支持双向、全双工通信的协议,能够以低开销实现实时数据交互。与传统 HTTP 不同,WebSocket 通过持久连接显著降低延迟,适用于在线游戏、聊天应用、实时通知和金融交易等场景。本文详解 WebSocket 的特性、优势及其实现方式,提供股票行情示例代码,并对比其他协议,帮助开发者掌握这一关键技术,构建高效实时应用。
|
机器人 Java API
实时社群技术专题(一):支持百万人超级群聊,一文读懂社群产品Discord
本文为系列文章的首篇,文章内容不讨论Discord具体的技术实现,仅从其产品定义的角度上对Discord软件进行详尽和具体的介绍,希望能帮助你对Discord从产品形态上有较为完整的认知,也方便你阅读本系列文章的后续篇章。
1268 0
|
运维 前端开发 安全
为什么我不建议你搞Python
之所以从事Python是因为很不爽PHP的语法,虽然PHP被称为世界上最好的编程语言。于是,为了这个原因,付出了沉重的代价,失业了好几回。 身边有些人时不时总是会问我一些Python的技术问题,但是大多数情况下都是比较基础的。要不是近几年Python火了起来,说不定我真的转行送外卖了。 对于Python这么语言,可以当作一门兴趣或爱好来学习,但是若是想找到份好的工作还是谨慎为主,这也是为什么不建议你搞Python的原因。
为什么我不建议你搞Python
|
20天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
32508 122
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
16天前
|
人工智能 安全 机器人
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI助手,支持钉钉、飞书等多平台接入。本教程手把手指导Linux下部署与钉钉机器人对接,涵盖环境配置、模型选择(如Qwen)、权限设置及调试,助你快速打造私有、安全、高权限的专属AI助理。(239字)
6905 20
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
|
15天前
|
人工智能 机器人 Linux
OpenClaw(Clawdbot、Moltbot)汉化版部署教程指南(零门槛)
OpenClaw作为2026年GitHub上增长最快的开源项目之一,一周内Stars从7800飙升至12万+,其核心优势在于打破传统聊天机器人的局限,能真正执行读写文件、运行脚本、浏览器自动化等实操任务。但原版全英文界面对中文用户存在上手门槛,汉化版通过覆盖命令行(CLI)与网页控制台(Dashboard)核心模块,解决了语言障碍,同时保持与官方版本的实时同步,确保新功能最快1小时内可用。本文将详细拆解汉化版OpenClaw的搭建流程,涵盖本地安装、Docker部署、服务器远程访问等场景,同时提供环境适配、问题排查与国内应用集成方案,助力中文用户高效搭建专属AI助手。
4873 12

热门文章

最新文章