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

 “现在,导航到那个你希望程序在终端中打开的小文件夹。好的,下面需要在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。

原文发布于微信公众号 - 大数据钻研(bigdata118)

原文发表时间:2017-05-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏封碎

十条不错的编程观点 博客分类: 经典文章转载 编程设计模式面试Google框架

在Stack Overflow 上 有这样的一个贴子《What’s your most controversial programming opinion? ...

460
来自专栏程序员笔记

如何做好一个计划

1052
来自专栏大数据架构师专家

2017年 Python工程师面试经历分享(七家)

博主本人 2015 年毕业于郫县某 985 大学通信工程系,因为大学期间一直自己创业所以错过了大四秋招春招,毕业后又在北京继续创业一年,但在创业公司一直无法沉淀...

5342
来自专栏企鹅号快讯

Python语言的2017年终总结

在1989年12月,我在寻找一门课余编程项目来打发圣诞节假期。办公室会关门,但我有一台家用电脑,而且没有太多其它东西。我决定为当时我正构思的一个新的脚本语言写一...

24310
来自专栏程序员互动联盟

学不好编程的三个原因

学习编程的是一个艰辛的历程,一不小心就走上了岔路。磕磕盼盼跌跌撞撞,甚至头破血流,直至放弃。在学习过程中我们尽量避免误入歧途。我们应该时刻谨记。 回头看学生时代...

3005
来自专栏北京马哥教育

头条 Python 工程师面经分享:一年经验也能进大公司!

博主本人 2015 年毕业于郫县某 985 大学通信工程系,因为大学期间一直自己创业所以错过了大四秋招春招,毕业后又在北京继续创业一年,但在创业公司一直无法沉淀...

1533
来自专栏谦谦君子修罗刀

程序员面试闪充--简历书写

对于职场来说,简历就如同门面。若是没想好,出了差错,耽误些时日倒不打紧,便是这简历入不了HR的眼,费力伤神还不能觅得好去处,这数年来勤学苦练的大好光阴,岂不辜负...

3505
来自专栏杨建荣的学习笔记

关于职业生涯(r10笔记第53天)

下午在看Python的一本书的时候,突然脑袋里冒出了很多的想法。而且看着看着想起了很多以前的学习经历,这可能是一个悟道的开始吧。这么说吧,悟性是一个人学...

3579
来自专栏大数据钻研

统一回复《怎么学JavaScript?》

于时不时,有同学私信问我怎么学前端的问题。 这里统一回复一下,如下次再遇到问我此问题同学,就直接把本文链接地址发给你了。 首先说句题外话。关于有人管我叫大神的...

3225
来自专栏企鹅号快讯

论新手该如何学习java?

由于我国高等教育制度教材陈旧,加上java自身发展不过十年左右的时间,还有一个很重要的原因就是java这门语言更适合商业应用,所以高校里大部分博士老师们对此语言...

2867

扫码关注云+社区

领取腾讯云代金券