• 编程学习的四个阶段

    学习编程之旅
    服务器君一共花费 15.909 ms 进行了 3 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    Quincy Larson曾经只是个穿西装坐办公室的家伙,有一天,他决定要学习编程。于是,他到处打听关于编程的事情。他从Ruby入手,接着很快学了Scala、Clojure和Go等多种其他的编程语言。他用过Emacs和Vim,甚至还学过Dvorak键盘布局。他不仅学会了Linux,涉足过Lisp,并且有超过半年的时间靠在命令行下编 Python 代码为生。

    Quincy就像龙卷风中的一片叶子,别人给他的建议让他在编程的世界中晕头转向,直到他学完了“能想到的每一个在线教程”。尽管在故事的最后,Quincy得到了一份软件开发的工作,但他说:

    …我认为,我碰到过的程序员们看似一帆风顺,实际上他们都饱尝过学习编程的痛苦,只是他们都压抑着没有说出来。

    唉,这些话是不是听着很耳熟?

    编程学习的几个阶段

    我们先来仔细看看整个过程。我们先介绍典型的编程之路上必须经过的四个阶段,以及如何平稳渡过每个阶段。你也会看到资源的丰富程度和知识范围(各个阶段必须掌握的)的广度这两个关键因素是如何在编程之路上起到决定性作用的。

    旅程艰辛就为了达到找工作的水平,这个艰苦的过程可以描绘成你的自信心随能力增长的变化曲线。

    由于自信和幸福感紧密关联,而且只有在自信和能力相匹配时,才能正式地说你可以“上岗”了,因此,上图中的自信和竞争力是息息相关的。

    随后我们会观察剩下的三个阶段中存在的独特挑战,但每个阶段本质上都包含了上面的这种关系:

    1.手把手辅导的蜜月期(The Hand Holding Honeymoon),这个阶段充满了乐趣,面对看似棘手的问题,那些高质量资源的鼎力相助让你轻松取胜。虽然你主要学的是基础语法,但完成的工作会让你很有成就感。

    2.充满迷惑的下滑期(The Cliff of Confusion),在这个阶段你会痛苦地发现,手把手辅导的阶段结束后,事情变得更困难了,实际上你没法独立做任何事。在你试图重新振作时,你面对的首要挑战不仅是要反复调试,而且你还不懂怎么问问题。

    3.绝望的迷茫期(The Desert of Despair),这个阶段漫长而又孤独。在这个沙漠(充满困惑迷茫就像身处沙漠)中几乎没有路,每个方向都看似正确,但你却总是在绕圈,你极度渴望找到办法逃出生天。警惕“狂燥中出现的海市蜃楼(Mirages of Mania)”,它们就像是沙漠的迷魂曲,将引诱你误入歧途。

    4.煎熬的上升期(The Upswing of Awesome),这个阶段里你终于找到了一条路走出沙漠,并且总体清楚了如何创建应用程序。但你的代码仍然很封闭,到处都是漏洞,就像纸糊的房子一样摇摇欲坠。你的网站可以运行并且你已经掌握了几种有效的模式,这些都让你的信心大增,而且你的朋友们都在称赞你的网站很酷,但实际上你知道底层连自己都不忍直视。你根本不知道该如何写出“可发布”的成熟代码。该如何弥补这个差距,从而找到一份真正的工作呢?

    在过去这些年里,我已经见过成百上千的开发者,他们都心怀抱负,并且不断给我说着相同的经历。我写这篇文章的目的,是希望你能够在学习的路上擦亮双眼,做一个详细的计划避开很多前人都曾掉入过的陷阱。

更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [Python程序设计] urls.py设置技巧 8 个条目
  2. [移动开发] 从代码角度去认识 Handler 4 个条目
  3. [Python程序设计] Tornado源码解析 23 个条目
  4. [PHP程序设计] httpd.conf设置相关 3 个条目
  5. [移动开发] Android布局基本知识 3 个条目
  6. [PHP程序设计] PHP数组探索 4 个条目
  7. [Linux操作系统] CentOS上使用EPEL Repository 2 个条目
  8. [数据库技术] SQL基础语法 1 个条目
  9. [软件工程与项目管理] 开始使用Git 3 个条目
  10. [软件工程与项目管理] 浏览器的HTML解析器 8 个条目
  11. [PHP程序设计] PHP扩展模块安装 1 个条目
  12. [C语言程序设计] 结构体基本知识 1 个条目
窗口 -- [博客]