学习编程绝不是容易的事情。在livecoding.tv发表的一篇博文中,与初学者分享了在学习编程前需要知道的10件事情。如果你也是初学者,值得看看以下的内容,以便你在学习编程的过程中把握好方向。
1. 打好基础
当你开始学习编程的时候,首先你要确定的东西是“基础”。要打好基础,你需要学习计算机科学。现在,我们可以在网上找到很多针对初学者的课程。互联网的确为初学者提供了便利,使你可以通过网络找到大量有用的信息。因此,你得花时间研究一下这些信息,从中选择最适合自己需求的。
以下这些网络课程可以帮助你开始学习编程:
- Introduction to Computer Science | Wikiversity
- Intro to Computer Science | Udacity
- CS50: Introduction to Computer Science | edX
- Free Introduction to Computer Science Online Course | ALISON
2. 建立耐心
作为一名程序员,要想获得成功,首先要建立耐心。它可以令你在经历了无数次打击后仍然能够站起来,让你随时作好准备应对失望。耐心可以帮助你成为一个更出色的问题终结者,它还可以提高你对计算机的认识。计算机的概念是很复杂的,它要求要灵活,耐心和努力工作去理解它。绝大多数时候,当初学者开始学习编程的时候,他们并没有正确的期望。在初学阶段,你不要期待想获得一切,寄望过于乐观是危险的。由于不正确的期望,很多初学者很快就放弃了,转而学习其它东西了。要对付这个问题,你应该建立耐心,并且要想着最终的目标。
3. 设定目标并向目标前进
设定目标是一种有力的,有激励性的方法,鞭策着你不断进步。例如,当你开始学习PHP的时候,你可以设定一个目标,要求自己完成一个简单的项目。一旦你的目标达到了,再设定另一个,并重复这个循环。 编程的学习和提高是永无止境的,因此不断地为自己设定目标,而且不要忘了你的主要目标。
作为初学者,你可以尝试设定以下这些简单的目标:
- 使用 CSS和JavaScript创建一个计算器
- 使用HTML, CSS 和JavaScript开发一个自适应网站
- 使用后台编程语言,如PHP, Ruby, Python等开发一个动态网站
- 使用JavaScript设计一个简单的2D游戏
在livecoding.tv上,就有很多初学者在尝试开发一些简单的项目。你可以看看他们分享的视频。作为初学者,你可以从别人的经验中学到很多东西。
你设定的目标应该是切实可行的,在现阶段,不要想着去开发像facebook这样的网站或者是一个功能齐全的游戏。尝试一步一步来,当你的能力去到另一个阶段时,你就可以专注更大,更复杂的项目了。
4. 多做项目
通过做更多的项目,你不仅可以了解你自己的局限性,而且可以提高你分析和解决问题的能力。毕竟,学习代码不完全是只学习语法,而是要学习如何使用手中的工具去解决问题。
编程还需要具有创意的见解以及要有计划地去做一些有意义的事情。对于初学者,很难产生一个好的项目创意,因此你可以多看看别人的项目。例如在livecoding.tv 上,你可以看其程序员在线编程,开发产品。这是一个很好的学习机会。通过看别人的项目,你可以获得灵感来帮助你创建自己的项目。另一个好处是,你可以发现别人在开发项目有可能碰到哪些问题,然后如何解决它们。这些问题在你开发项目的时候,也有可能会碰到。因此这是一个很好的借鉴机会。
您也可以注册成为GitHub的用户,在网站上保存你的代码以便随时用到它们。在互联网上,你可以找到各种编程语言的公共资料库,通过浏览相关资料,你可以发现很多项目创意。
5. 参与社交编程
学习写代码从来不是“一个人在战斗”。如果你觉得不需要任何帮助就可以创建一个更大的应用软件,那么你就错了。事实上,编程是一项集体活动,如果你想坚持下来,你需要从各种社交平台上获得帮助。例如,GitHub, StackOverFlow, Livecoding以及其它的社产平台,都是很多程序员聚集的地方。每一个社区都各有特色,选择合适自己的社区,积极参与社交编程,可以帮助你提高技能。
6. 平衡好你的学习
作为一个开发人员,能力的提升是永无止境的,而持续的无助感只是作为一个开发者的一部分而已。新技术的诞生不会令开发者轻松下来,因为他们需要不断地提升自身的能力来适应市场的要求。作为初学者,你应该随时准备学习新的东西。即使是有经验的开发者,他们也会对自己的能力缺乏信心,因为市场上会不断有新的工具,技术和标准涌现,这需要开发者与时并进,才能跟得上变化。但这并不是说你得知道一切事情,只要了解你要了解的事情就可以了。关键是不要停止学习新的东西。
7. 学习算法
当你获得一定的项目经验后,你就应该开始学习算法了。 算法是构成计算机科学的核心。无论你是正在做网页开发还是游戏开发,你总得使用算法来实现最终的结果。随着算法熟练程度的提高,你的技能可以达到新的高度。算法思维也可以帮助你找到第一份工作,因为大多数工作在面试时都是基于算法和解决问题的能力。你应该每天专注于解决至少一个算法问题,并保持解决问题的能力,以达到拔尖的水平。
8. 利用代码文件
代码文件帮助你了解你正在使用的编程语言,框架或者是库。它们包含了关于某个具体主题的丰富信息,可以帮助你学得更快。作为初学者,有时候你会觉得阅读代码文件是一件可怕的事情,但这是你在学习过程中必须要经历和克服的。开始时先慢慢来,并学习如何阅读代码文件,遇到不明白的地方,你可以求助强大的google。
9. 习惯使用工具
与任何其他的行业一样,在编程行业中,使用工具可以帮助比平常更快地完成琐细的事情。无论你学习的是哪种语言或框架,你都应该学会利用可用的工具。它们还可以帮助你自动完成大多数人手工作,让你可以专注于主要的问题。你应该使用的工具诸如Git, Slack, code editors,Chrome DevTools,编程框架(前端和后端)等等。
10. 寻找导师
如果你没有一个导师来指导你,编程可以是一个耗时的工作。在导师的帮助下,你节省的不仅是时间,还有从导师身上学习到的宝贵经验。一个有经验的导师可以引导你如何开发项目,并帮助你成为优秀的程序员。因此,在你开始学习编程的过程中,寻找一个导师来指导你,这样可以加快你的学习进度。现在你可以有很多渠道找到合适的导师了。无论是“面对面”的指导还是通过网络授课,都是很不错的方法。
结束语
学习编程会成为你一生中一个很棒的决定,记得要参与编程有关的圈子,无论是技术社区还是社交平台,在这些地方你可以认识很多志同道合的朋友。一旦你的技术和能力达到了一定的水平,你还可以尝试通过一些自由职业者的平台,例如Upwork 和Freelancer,找到了一些兼职的工作。livecoding.tv也有各种大大小小的专门针对程序员的工作任务。只要你有足够的能力,肯投入时间和努力,再加上一点点运气,好的工作就有可能降临到你身上了。
(本文为编译,英文原文出处:http://www.hongkiat.com/blog/get-started-with-programming/)
(Livecoding.tv博文出处:http://wp.me/p6WSQY-1Hm)