`

编程学习的七个阶段 (转载)

 
阅读更多

 

在学习编程的时候,总会遇到这样那样的困难,笔者整理了编程学习各阶段的问题及心态分析。希望对广大编程爱好者有帮助。

 



1

机会

你很开心,你一直想学这个新的内容,比如说某编程语言,无论是规划还是环境所迫,总之你终于有这个机会学习了。

 



2

没有根据地乐观

谷歌搜索——挑选一两个自己感兴趣的教程,买资料和书,然后开始MOOC(大规模在线开放教程)。教程很有趣,甚至还有在线REPL,可以让你玩耍,你觉得你正在进步中。当然也有烦恼——手指还不熟练,但你坚持,不肯放弃,并准备向你的第一个项目进军。

 

 

3

绝望的深坑

你开始从“Hello, World”延伸开去,例如,先是将内容更改为“Hola,Mundo”这样小心翼翼的尝试,然后胆子稍微肥了点,开始肆无忌惮了——于是乎,错误信息,堆栈跟踪,随机行为纷至沓来。即使不管所有的错误信息,那些能在教程中正常工作的代码,也许你亲自操刀的结果却是一片空白。你恍然发现,哪怕是一些看上去愚蠢但良性的细微差别,也会造成狂风暴雨,让你阴沟里翻船,陷入绝望的深坑。即使是最简单的任务都让你痛苦不已,你开始怀疑自己,怀疑自己其实压根就没有编程的天分。

 



4

放低身段

慢慢地,通过试验和错误的洗礼,通过向同事、StackOverflow、博客寻求帮助,你开始一点一滴地积累知识。你开始懂得如何显示数据,如何与数据库进行交流,如何创建接口,如何覆盖方法。虽然你还并不能真正理解上述任何一个的工作原理,但是在不断掌握这些神奇的咒语,扩充知识领域的同时,完成一些特定的、必要的任务渐渐变得不在话下。对于有的咒语,你可能会用得非常顺手,甚至在一些有问题的情况下也生搬硬套,觉得只要完成就好,哪怕内心明白自己这样做并不对。调试是一种挫折锻炼。无论是因为自我觉得目标已经实现,计划将时间放到其他地方,还是因为太难因此望而怯步,亦或是自诩已经掌握了专业知识从而做出了自认为理智的选择,总而言之很多人止步于这一阶段。

 

 

 

5

黎明的到来

到了这一阶段,由于你已经积蓄了足够多的信息片段,于是开始能够找到它们之间的连接。你开始能够灵活应用知识,而不是像之前那样生搬硬套。你对一些基本规则开始有所谓的直觉,开始从死板地遵守向接收知识转变。这也是一个不均衡的过程——对这方面心意相通的同时可能仍然困惑于另一方面——但是你有信心一步一步地拿下,你开始享受这个过程。

 

 

6

专业

一段时间以后,你完全掌握了基本模式,开始觉得编程就像吃饭那样轻松自然。你已经可以直观地了解事物的工作原理,并且在架构、编码和调试之间轻松斡旋。一般说来你已经不必刻意地去思考问题,就像你从家里到商店去买东西——你知道怎么走,如果有一些新造的道路,你也能瞬间权衡不同的选项,并选出一条最佳的路线。此时,碰到问题最难的应该是问题本身,而不是操作系统来支持你想要它做什么事情。

 

 

7

成就

你现在已经是一个有着多年经验的专家了。你投入的时间和精力通通有了回报。你写博客文章,助力开源项目,成为了同行中公认的专家。这俨然成为你的身份和荣誉,也成为了你的枷锁,你的所作所为需要匹配专家这个名头。突然有一天,新生事物出现了。你内心也明白,这个新事物很好,将会很有用,能帮助轻松解决现有工具不足以解决的问题,将会是未来的潮流。但与此同时,你清楚地知道成为专家所需要付出的努力和时间,需要再次感受不足和挫折,需要去向他人求助等等,你不愿意了,你退缩了。你宁愿闭上眼睛,墨守陈规,将自己蜷缩成一团,就好像枯萎的枝干慢慢死去。

 

原文地址:http://mp.weixin.qq.com/s?__biz=MzA3ODEwMzEyMA==&mid=211002872&idx=2&sn=e6f3b0fe5b46cfcb71673511224d0cc0&key=af154fdc40fed00388a68250f1ce473e58e551aadbee0e399babb23e8464697b3f9bfba8256d697cd46dd0cf778bbcca&ascene=1&uin=Mjg1MTI2NjUxNw%3D%3D&devicetype=Windows+8&version=61010029&pass_ticket=qaodPT0eJ%2FkqaFjUAwdStpt74V1%2FsxaYA91oAFOZORTT0jYG58cGsRZGJBzeIuFM

分享到:
评论

相关推荐

    Python3学习路线图.pdf

    阶段 阶段1:⼊门知识 :⼊门知识 零编程基础的可以先从下⾯⼏个教程了解编程及环境⼊门知识。( 已有编程基础直接从阶段2起步 已有编程基础直接从阶段2起步) 1. 2. 3. 阶段 阶段2: :Python基础 基础 看完⼊门...

    OpenGL编程指南(原书第7版pdf )[转载]

    总的来说,OpenGL编程指南(原书第7版)为程序员提供了一个全面的OpenGL学习路径,涵盖了从基础到高级的广泛主题,通过大量的代码示例和清晰的讲解,帮助读者快速掌握OpenGL的使用和计算机图形学的知识。对于想要...

    游戏编程指南.doc

    【游戏编程指南】是一份详细阐述游戏开发技术...总的来说,这份游戏编程指南是一个全面的学习资源,旨在帮助初学者从基础开始,逐步掌握游戏开发所需的技术和知识,同时也适用于有一定编程经验的开发者回顾和深化基础。

    转载ARM学习心得,ARM9260,我也是从别人处下的

    从标题来看,“转载ARM学习心得, ARM9260, 我也是从别人处下的”这句话传递出一种分享和传承的精神,同时也反映了学习ARM过程中的艰辛与收获。 在学习ARM的过程中,从开始到真正理解并能够独立完成项目,可能需要一...

    游戏开发的入门教程-游戏编程指南

    游戏开发的入门教程——游戏编程指南是一篇专为初学者准备的教程,旨在...总的来说,游戏编程指南为想要踏入游戏开发领域的初学者提供了一个良好的起点,通过深入学习和实践,可以逐渐掌握创建互动娱乐软件所需的技能。

    软件开发人成长经历(转载)

    首先,软件开发人员的成长通常始于基础学习阶段。这包括掌握编程语言的基础语法,如C、Java、Python或JavaScript等。理解变量、数据类型、控制结构、函数等基本概念是必要的起点。此外,学习算法和数据结构也是这一...

    ASP.NET学习积累的代码段(转载)

    从初始化到加载,再到回发和卸载,每个阶段都有特定的任务和可以访问的控件状态。 7. **AJAX和jQuery**:为了实现部分刷新和增强用户体验,ASP.NET引入了AJAX技术,配合UpdatePanel、ScriptManager等控件可以实现...

    C#.NET经典案例解析转载

    这些案例是C#编程学习的重要资源,因为它们提供了一种实践性的方法来理解面向对象编程、数据库交互、用户界面设计以及系统集成等核心概念。 首先,让我们来看看人事管理系统。在C#中开发人事管理系统涉及到员工信息...

    c++ 学习经典教材 ————易学C++

    从给定的文件信息来看,这是一本名为“易学C++”的教材...通过简化学习路径,专注于实用技术和算法,以及提供实践机会,这本书有助于学生快速掌握C++编程的基本技能,为进一步学习更高级的计算机科学概念奠定坚实基础。

    Java后端开发学习路线.xmind

    非常详细的Java后端开发学习路线,详细说明了每个阶段应该学习什么知识(转载自一位博主)

    小学数学出题机(转载)

    Delphi版表明该软件是使用Delphi编程语言开发的,Delphi是一种基于Object Pascal的集成开发环境,以其高效性和生成原生代码而闻名。 这款出题机的主要功能可能包括以下几个方面: 1. **自动生成题目**:根据孩子的...

    《易学C++》电子书

    - **目标受众**:主要面向没有编程经验或编程基础较弱的计算机专业学生,尤其是那些在中学阶段未能接触编程教育的学生。 #### 二、书籍内容概述 - **版权说明**:本书明确了版权归属,并规定了特定条件下(如上海...

    汇编语言调试环境masm

    在IT领域,汇编语言是一种低级编程语言,它与计算机硬件紧密相关...总的来说,通过学习和实践王爽老师的《汇编语言》以及搭建和使用MASM调试环境,开发者可以掌握汇编语言的基本技能,进一步提升自己的系统级编程能力。

    fpga学习经历

    #### 一、Verilog语言学习阶段 在FPGA的学习过程中,首先接触到的就是硬件描述语言,其中Verilog HDL是最为广泛使用的语言之一。Verilog相较于VHDL更加容易上手,其语法与C语言相似,使得初学者能够更快地理解和...

    ARM入门最好的文章转载一位资身工程师的入门心得

    51单片机作为基础,可以帮助新手建立扎实的底层硬件理解和编程基础,从而更快地适应ARM的学习。 在学习ARM之前,了解其发展历程是必要的。ARM处理器的广泛应用得益于其不断降低的成本和不断提升的性能。ARM公司通过...

Global site tag (gtag.js) - Google Analytics