学编程绝不是容易的事情。很多网站为了鼓吹人们学习写代码,而会使用一种论调说,编程是一个很容易就能成为专家的行业。然而事实上,要拥有过硬的编程技术并成为这个行业的专家,需要付出很多努力。

作为初学者,你可能想知道在学习编程的过程中如何把握方向,或者是从初学者上升到中级水平,会是一个怎样的过程?每个人的学习经验会因人而异,因此你可以自由地选择适合自己的学习路径。本文所分享的内容,是想让初学者在学习编程前要知道以下10件事情,这样可以有助你有一个更好的开始,并知道如何接近编程。

1. 打好基础

当你开始学习编程的时候,首先你要确定的东西是“基础”。要打好基础,你需要学习计算机科学。现在,我们可以在网上找到很多针对初学者的课程。互联网的确为初学者提供了便利,使你可以通过网络找到大量有用的信息。因此,你得花时间研究一下这些信息,从中选择最适合自己需求的。

2. 建立耐心

作为一名程序员,要想获得成功,首先要建立耐心。它可以令你在经历了无数次打击后仍然能够站起来,让你随时作好准备应对失望。耐心可以帮助你成为一个更出色的问题终结者,它还可以提高你对计算机的认识。计算机的概念是很复杂的,它要求要灵活,耐心和努力工作去理解它。绝大多数时候,当初学者开始学习编程的时候,他们并没有正确的期望。在初学阶段,你不要期待想获得一切,寄望过于乐观是危险的。由于不正确的期望,很多初学者很快就放弃了,转而学习其它东西了。要对付这个问题,你应该建立耐心,并且要想着最终的目标。

3. 设定目标并向目标前进

设定目标是一种有力的,有激励性的方法,鞭策着你不断进步。例如,当你开始学习PHP的时候,你可以设定一个目标,要求自己完成一个简单的项目。一旦你的目标达到了,再设定另一个,并重复这个循环。 编程的学习和提高是永无止境的,因此不断地为自己设定目标,而且不要忘了你的主要目标。

作为初学者,你可以尝试设定以下这些简单的目标:

  • Python3 实现简单的 Web 服务器

  • 在Github Pages上部署自己的简历

  • 使用 Python 创建照片马赛克

  • Python3 实现色情图片识别

在Shiyanlou.com上,就有很多初学者在尝试学习一些简单的项目。你可以去看看他们实验报告。作为初学者,你可以从别人的经验中学到很多东西。

你设定的目标应该是切实可行的,在现阶段,不要想着去开发像Weibo这样的网站或者是一个功能齐全的游戏。尝试一步一步来,当你的能力去到另一个阶段时,你就可以专注更大,更复杂的项目了。

 

4. 多做项目

通过做更多的项目,你不仅可以了解你自己的局限性,而且可以提高你分析和解决问题的能力。毕竟,学习代码不完全是只学习语法,而是要学习如何使用手中的工具去解决问题。

编程还需要具有创意的见解以及要有计划地去做一些有意义的事情。对于初学者,很难产生一个好的项目创意,因此你可以多看看别人的项目。通过看别人的项目,你可以获得灵感来帮助你创建自己的项目。另一个好处是,你可以发现别人在开发项目有可能碰到哪些问题,然后如何解决它们。这些问题在你开发项目的时候,也有可能会碰到。因此这是一个很好的借鉴机会。

您也可以注册成为GitHub的用户,在网站上保存你的代码以便随时用到它们。在互联网上,你可以找到各种编程语言的公共资料库,通过浏览相关资料,你可以发现很多项目创意。

5. 参与社交编程

学习写代码从来不是“一个人在战斗”。如果你觉得不需要任何帮助就可以创建一个更大的应用软件,那么你就错了。事实上,编程是一项集体活动,如果你想坚持下来,你需要从各种社交平台上获得帮助。例如,GitHub, StackOverFlow, 以及其它的社产平台,都是很多程序员聚集的地方。每一个社区都各有特色,选择合适自己的社区,积极参与社交编程,可以帮助你提高技能。

6. 平衡好你的学习

作为一个开发人员,能力的提升是永无止境的,而持续的无助感只是作为一个开发者的一部分而已。新技术的诞生不会令开发者轻松下来,因为他们需要不断地提升自身的能力来适应市场的要求。作为初学者,你应该随时准备学习新的东西。即使是有经验的开发者,他们也会对自己的能力缺乏信心,因为市场上会不断有新的工具,技术和标准涌现,这需要开发者与时并进,才能跟得上变化。但这并不是说你得知道一切事情,只要了解你要了解的事情就可以了。关键是不要停止学习新的东西。

7. 学习算法

当你获得一定的项目经验后,你就应该开始学习算法了。 算法是构成计算机科学的核心。无论你是正在做网页开发还是游戏开发,你总得使用算法来实现最终的结果。

随着算法熟练程度的提高,你的技能可以达到新的高度。算法思维也可以帮助你找到第一份工作,因为大多数工作在面试时都是基于算法和解决问题的能力。你应该每天专注于解决至少一个算法问题,并保持解决问题的能力,以达到拔尖的水平。

8. 利用代码文件

代码文件帮助你了解你正在使用的编程语言,框架或者是库。它们包含了关于某个具体主题的丰富信息,可以帮助你学得更快。作为初学者,有时候你会觉得阅读代码文件是一件可怕的事情,但这是你在学习过程中必须要经历和克服的。开始时先慢慢来,并学习如何阅读代码文件,遇到不明白的地方,你可以求助强大的google。

9. 习惯使用工具

与任何其他的行业一样,在编程行业中,使用工具可以帮助比平常更快地完成琐细的事情。无论你学习的是哪种语言或框架,你都应该学会利用可用的工具。它们还可以帮助你自动完成大多数人手工作,让你可以专注于主要的问题。你应该使用的工具诸如Git, Slack, code editors, Chrome DevTools,编程框架(前端和后端)等等。

10. 寻找导师

如果你没有一个导师来指导你,编程可以是一个耗时的工作。在导师的帮助下,你节省的不仅是时间,还有从导师身上学习到的宝贵经验。一个有经验的导师可以引导你如何开发项目,并帮助你成为优秀的程序员。因此,在你开始学习编程的过程中,寻找一个导师来指导你,这样可以加快你的学习进度。现在你可以有很多渠道找到合适的导师了。无论是“面对面”的指导还是通过网络授课,都是很不错的方法。

结束语

学习编程会成为你一生中一个很棒的决定,记得要参与编程有关的圈子,无论是技术社区还是社交平台,在这些地方你可以认识很多志同道合的朋友。一旦你的技术和能力达到了一定的水平,你还可以尝试通过一些自由职业者的平台,例如Upwork 和Freelancer,找到了一些兼职的工作。只要你有足够的能力,肯投入时间和努力,再加上一点点运气,好的工作就有可能降临到你身上了。

(本文由liveedu.tv编译,英文原文出处:http://www.hongkiat.com/blog/get-started-with-programming/ 感谢原作者)


推荐教程:

Git 实战教程

MySQL基础课

SQLAIchemy基础教程

Python3简明教程

Django基础教程

Python图片转字符画

200 行 Python 代码实现 2048

Python 破解验证码

PyQt 实现简易浏览器

《Python 数据分析实战》

更多有趣教程,请戳下图哦:

初学编程时需要了解的10件事情相关推荐

  1. 编程程序的名称要记住吗_学习编程时要记住的5件事

    编程程序的名称要记住吗 by Kurt 由库尔特 学习编程时要记住的5件事 (5 Things to Remember When You're Learning to Program) Learnin ...

  2. 你不了解PHP的10件事情

    你不了解PHP的10件事情,转自http://www.ccvita.com/302.html 看到有人翻译的<10 things you (probably) didn't know about ...

  3. 安装 Fedora 21 工作站后要做的10件事情

    安装 Fedora 21 工作站后要做的10件事情 Fedora 21已经在2014年12月正式发布.对于Fedora新手和初学者来说,初始化设置可能存在一点困难,我们翻译了一篇Fedora系统配置文 ...

  4. ubuntu20更换节点_安装Ubuntu 20.10之后要做的10件事情

    如果已成功安装上Ubuntu 20.10,建议做下面的10件事情,它适合Ubuntu新手或经验不足的人,这样在使用Ubuntu 20.10操作系统上就更加的容易了. 1.查看最新的功能 每个新的Ubu ...

  5. 优秀编程团队需要改善的12件事情

    你听说过SEMA么? 它是一个用来测试一个软件团队有多好的相当深奥的系统.不,等等!不要手贱点开这个链接!它会花费你大概六年的时间来了解这个东西.所以我提出了我自己 的.跟它相比极不负责任的.草率的评 ...

  6. 遇到同事求助时需要帮助的3件事情,别说你不知道

    在职场中,同事互相求助.互相帮助是很常见的.当有人向同事求助时,他们的内心已经挣扎了很久,但大量的人会直接拒绝同事的帮助:除了寻求帮助之外,选择帮助时也有技巧. 不是所有的同事都求人,一定有拒绝的想法 ...

  7. 关于XRP需要了解的10件事情

    在市场上所有的数字资产中,XRP是一直在持续变化的.数字资产的价值从2017年1月的0.006美元上涨到2018年1月初的3.60美元,增幅超过59,000%.通过持有XRP,Ripple现在是Ube ...

  8. 创意生成网络can_下一个网络创意时应该做的10件事

    创意生成网络can You're spending a lazy afternoon with your family, when a brilliant idea suddenly strikes ...

  9. 关于 JShell,开发人员需要知道的10件事情

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | Queena 来源 | 公众号「锅外的大佬」 Jshell 作为 Kulla 项目 ...

最新文章

  1. asp.net客户端脚本验证小技巧
  2. 可视化LassoCV的系数图
  3. mysql 存储引擎 介绍
  4. Windows x64内核学习笔记(四)—— 9-9-9-9-12分页
  5. rdlc 分页操作和分页统计
  6. CLR via C# (二)
  7. 如何批量删除指定的GitHub Repos
  8. 21秋期末考试财务会计(二)10165k2
  9. SpringBoot2 整合MinIO中间件,实现文件便捷管理
  10. httpposterror_java – HttpClientError:目标服务器无法响应
  11. [转]详细的GStreamer开发教程
  12. python怎么读取中文文件-Python中使用不同编码读写txt文件详解
  13. 在 Emacs 里修改现有文件的编码格式(转载)
  14. 集合之HashSet
  15. 【R语言】logistic回归(二)多因素logistic回归
  16. 市场调研报告-全球与中国船用下水推车市场现状及未来发展趋势
  17. 朱晔的互联网架构实践心得S1E8:三十种架构设计模式(下)
  18. 基于C#的“密码学”实验演示系统的设计与实现、.NET下的RSA编程、各种密码学算法的C# GUI编程实现
  19. 一个QQ盗号木马是这样诞生的(C#)
  20. 域中文件服务器的设置权限,域中文件服务器共享权限设置.pdf

热门文章

  1. StoneDT开源舆情系统大数据技术栈介绍
  2. Linux下软件逆向工程的介绍(一)
  3. 2. Java模板引擎 —— JavaPoet的简单使用
  4. 吸顶那个叫什么_吸顶空调吊顶区别到底是什么
  5. 腾讯、阿里和百度的12大隐藏良心级实用功能(24K纯干货!)
  6. ArcEngine下纵断面图的绘制
  7. SQLServer中的Cross Apply、Outer Apply
  8. linux命令查看iotop,Linux系统IO分析工具之iotop参数详解(查看IO占用)
  9. 中断源、中断向量、矢量中断、中断向量表
  10. 制造企业有可能自行开发ERP系统吗?