编程初学者可能都思考过这个问题,“我该怎么学编程?”这里我们供应些干系的参考辅导来帮助你找到最适宜自己学习情形和学习须要的方法。
-- Vm (vicky) Brasseur

本文导航

-你的学习办法是什么? …… 09%

-选择一门编程措辞 …… 25%

php小白到大牛集训若何开端进修编程 HTML

-试水 …… 35%

-参考的学习资料 …… 46%

-网络支持 …… 73%

-开始学习编程的几个步骤 …… 85%

编译自: https://opensource.com/article/17/4/how-get-started-learning-program

作者: Vm (vicky) Brasseur

译者: WangYueScream

编程初学者可能都思考过这个问题,“我该怎么学编程?”这里我们供应些干系的参考辅导来帮助你找到最适宜自己学习情形和学习须要的方法。

最近有很多关于学习编程的辩论。
不仅仅是由于与软件开拓公司公开的待应聘的职位数量比较较符合招聘哀求的人远远无法知足缺口[1],编程也是人为最高[2]和事情知足感最强[3]的浩瀚职业之一。
也难怪越来越多的人都想进入这个行业。

但是你要怎么做才能精确地入行呢?“我该当怎么学习编程?”是初学者常见的一个问题。
只管我没有这些问题的全部答案,但是我希望这篇文章能够给你供应干系辅导来帮助你找到最适宜你的需求和自身情形发展的办理办法。

你的学习办法是什么?

在你开始学习编程之前,你须要考虑的不仅仅是你的方向选择,还要更多的考虑下你自己。
古罗马人有句谚语,γνῶθι σεαυτόνgnothi seauton[4],意思是“认识你自己”。
投入到一个大型的编程学习过程中难度不小。
足够的自我认识是非常有必要的,这能够确保你做出的选择通向成功的机会非常大。
你须要思考并老实地回答接下来的这些问题:

你最喜好什么样的学习办法?怎么做你才能学到最好?是通过阅读的办法吗?还是听讲座?还是紧张通过动手实践?你须要选择对你最有效的方法。
不要仅仅由于这种学习方法盛行或者有其他人说过这种方法对他们很有用就选择了这种方法。

你的须要和哀求是什么?你为什么想学习如何编程?是由于你只是想换一份事情吗?如果是这样的话,你须要多次韶光才能完成呢?你要牢记,这些是须要的 ,不是想要的 。
你可能想要下周就换份新事情,但是须要在接下来的一年里养活你正在发展的家庭。
当你在人生的道路上面临方向的决议时,韶光的安排特殊主要。

你能获取的参考资料有哪些?当然,重返大学并得到一份打算机科学专业的学位证书可能也不错,但是你必须对你自己实事求是面对现实。
你的生活必须和你学习相适应。
你能承受花费几个月的韶光和不菲的用度去参加集训吗?你是否生活在一个可以供应学习机会的地方,比如供应技能性的聚会或者大学课程?你能获取到的参考资料会对你的学习过程产生巨大的影响。
在打算学编程换事情前先调查好这些。

选择一门编程措辞

当你打算开始你的编程学习之路和考虑你的选择的时候,请记住不管其他人说什么,选择哪门编程措辞来开始你的编程学习关系不大。
是的,是有些编程措辞比其他的更盛行。
比如,根据一份调查研究,目前 JavaScript,Java,PHP, 和 Python 处于 最受欢迎最盛行的编程[5] 中的前排。
但是现在正盛行的编程措辞有可能过几年就过期了,以是不用太纠结编程措辞的选择。
像那些方法,类,函数,条件,掌握流程和其他的编程的观点思想等等,不管你选的哪门编程措辞,它们的底层事理基本是同等的。
只有语法和社区的最佳实践会变。
因此你能够用 Perl[6] 学习编程,也可以用 Swift[7] 或者 Rust[8]。
作为一个程序员,你会在你的职业生涯里用很多不同的编程措辞来事情。
不要认为你被困在了编程措辞的选择上。

试水

除非你已经涉足过这个行业或者确信你乐意花费你生命的剩余光阴来编程,我建议你最好还是下水之前先用脚趾头来试试水温之类的来判断这水适不适宜。
这种事情不是每个人都能做的。
在把全部希望都压在学习编程之前,你可以先考试测验花费少量韶光金钱来学习一小部分知识点来理解自己是否会享受这种每周最少花费 40 个小时来编码事情的生活。
如果你不喜好这种事情,你不太可能完成编程项目的学习。
即便你完成结束了编程的学习阶段,你也会在你往后的编程事情中感到无比痛楚。
人生苦短就不要花费你人生三分之一的韶光来做你不喜好的事了。

谢天谢地,软件开拓不仅仅须要编程。
熟习编程观点和理解软件是怎么和他们结合在一起的是非常有用的,但是你不须要成为一个程序员也能在软件开拓行业中找到一份报酬不菲的事情。
在软件开拓过程中,其余的主要角色有技能文档撰写人、项目经理、产品经理、测试职员、设计职员、用户体验设计者、运维/系统管理员和数据科学家等。
软件成功的启动须要很多角色之间相互合营。
不要以为学习了编程就哀求你成为一个程序员。
你须要探索你的选择并确定哪个选择才是最适宜你的。

参考的学习资料

你对学习参考资料的选择是什么?可能正如你已经创造的那样,可供选择的参考资料非常多,只管在你的那片区域不是所有的资料都能够得到。

演习营:最近这几年像 App Academy[9] 和 Bloc[10] 这样的演习营越来越盛行。
演习营常日收费 $10K 或者更多,他们流传宣传在几周内就能够把一个学生培训成一个称职的程序员。
在参加编程集训营前,你须要研究下你将要学习的项目能确保正如它所承诺的那样,在学生学完毕业后能够找到一个高薪的长期供职的职位。
一方面花费了数目不小的钱财,而且韶光也花费了不少——常日这些都是范例的整日制课程并且哀求学生在接下来的连续几周里把其它的事先放在一边专心课程学习。
然而韶光金钱这两项不菲的花费常日会使很多未来的程序员无法参加演习营。

社区学院/职业培训中央:社区学院常常被那些调研自己学习编程的办法的人所忽略,不得不说这些人该为自己对社区学院的忽略感到羞愧。
你在社区学院或者职业培训中央能够接管到的教诲是和你选择其他办法学习编程的学习效果一样有效,而且用度也不高。

国家/地方的培训项目:许多地区都认识到在他们的地区增加技能投资的经济效益,并且已经制订了培训操持来培养受过良好教诲和准备好的劳动力。
培训项目的案例包括了 Code Oregon[11] 和 Minneapolis TechHire[12]。
检讨下你的州、省或自治区是否供应这样的项目。

在线演习:许多公司和组织都供应在线技能培训项目。
比如,Linux 基金会[13]致力于通过开源技能使人们得到成功。
其他的像 O'Reilly Media[14]、Lynda.com[15] 和 Coursera[16] 在软件开拓涉及的许多方面供应培训。
Codecademy[17] 供应对编程观点的在线先容。
每个项目的本钱会有所不同,但大多数项目会许可你在你的日程安排中学习。

MOOC:在过去的几年里,大规模开放在线课程的发展势头已经很好了。
像 哈佛[18]、斯坦福[19]、MIT[20] 和其他的一些天下一流大学他们一贯在记录他们的课程,并免费供应在线课程。
课程的自我辅导性子可能并不适宜所有人,但可利用的材料使这成为一个有代价的学习选择。

专业书本:许多人喜好用书自学。
这是相称经济的,在初步学习阶段后供应了现成的参考资料。
只管你可以通过像 Safari[21] 和 Amazon[22] 这样的在线做事订购和访问图书,但是也不要忘了检讨你本地的公共图书馆。

网络支持

无论你选择哪一种学习资源,有网络支持都将得到更大的成功。
与他人分享你的经历和寻衅可以帮助你保持动力,同时为你供应一个放心的地方去问那些你可能还没有足够自傲到其他地方去问的问题。
许多城镇都有当地的用户群聚在一起谈论和学习软件技能。
常日你可以在 Meetup.com[23] 这里找到。
专门的兴趣小组,比如 Women Who Code[24] 和 Code2040[25],在大多数城市地区常常举行会媾和黑客马拉松活动,这是在你学习的时候结识并建立一个支持网络的很好的办法。
一些软件会议举办“黑客日”,在那里你可以碰着有履历的软件开拓职员,他们能够帮助你办理你所困扰的一些问题。
例如,每年的 PyCon[26] 会议都会供应几天的韶光来让人们聚拢在一起事情、研讨。
一些项目,比如 BeeWare[27],利用这些短暂的韶光来帮助新程序员学习和对这些项目做贡献。

你的网络支持不须要来自正式的聚会。
一个小的学习小组可以有效地保持你的学习积极性,并且可以像在你最喜好的社交网络上发布约请一样随意马虎形成。
如果你生活在一个没有大量软件开拓职员社区所支持的聚会和用户组的地区,那么这一点特殊有用。

开始学习编程的几个步骤

大略的来说,既然你决定学习编程,可以参考这几个方法给自己一个尽可能成功的机会:

将你的须要/需求和参考学习资料列出清单并进行网络

征采在你的当地那里能够可用的选择

放弃不能符合你的需求和参考学习资料的选择

选择最符合你需求的和最适宜你的学习参考资源

找到一个能够得到支持的网络

务必牢记:你的学习过程永久不会结束。
高速发展的软件家当,会导致新技能和新进展险些每天都会涌现。
一旦你学会了编程,你就必须花韶光去学习适应这些新的进步。
你不能依赖你的事情来为你供应这种培训。
只有你自己卖力自己的职业发展,以是如果你想保持最新的技能和事情能力,你必须紧跟行业最新的技能。

祝你好运!

作者简介:

VM (Vicky) Brasseur - VM (aka Vicky) 是一个技能职员,也是项目、事情进程、产品和企业的经理。
在她的长达 18 年的科技行业里,她曾是一名剖析师、程序员、产品经理、软件工程经理和软件工程总监。
目前,她是惠普企业上游开源开拓团队的高等工程经理。
她的博客是 anonymoushash.vmbrasseur.com,推特是 @vmbrasseur。

via: https://opensource.com/article/17/4/how-get-started-learning-program

作者:VM (Vicky) Brasseur[28] 译者:WangYueScream 校正:wxy

本文由 LCTT 原创编译,Linux中国 名誉推出

[1]: 符合招聘哀求的人远远无法知足缺口 - http://www.techrepublic.com/article/report-40-of-employers-worldwide-face-talent-shortages-driven-by-it/

[2]: 人为最高 - http://web.archive.org/web/20170328065655/http://www.businessinsider.com/highest-paying-jobs-in-america-2017-3/#-25

[3]: 事情知足感最强 - https://stackoverflow.com/insights/survey/2017/#career-satisfaction

[4]: γνῶθι σεαυτόν - https://en.wikipedia.org/wiki/Know_thyself

[5]: 最受欢迎最盛行的编程 - https://stackoverflow.com/insights/survey/2017/#most-popular-technologies

[6]: Perl - https://learn.perl.org/tutorials/

[7]: Swift - http://shop.oreilly.com/product/0636920045946.do

[8]: Rust - https://doc.rust-lang.org/book/

[9]: App Academy - https://www.appacademy.io/

[10]: Bloc - https://www.bloc.io/

[11]: Code Oregon - http://codeoregon.org/

[12]: Minneapolis TechHire - http://www.minneapolismn.gov/cped/metp/TechHire#start

[13]: Linux 基金会 - https://training.linuxfoundation.org/

[14]: O'Reilly Media - http://shop.oreilly.com/category/learning-path.do

[15]: Lynda.com - https://www.lynda.com/

[16]: Coursera - https://www.coursera.org/

[17]: Codecademy - https://www.codecademy.com/

[18]: 哈佛 - https://www.edx.org/school/harvardx

[19]: 斯坦福 - http://online.stanford.edu/courses

[20]: MIT - https://ocw.mit.edu/index.htm

[21]: Safari - https://www.safaribooksonline.com/

[22]: Amazon - https://amazon.com/

[23]: Meetup.com - https://www.meetup.com/

[24]: Women Who Code - https://www.womenwhocode.com/

[25]: Code2040 - http://www.code2040.org/

[26]: PyCon - https://us.pycon.org/

[27]: BeeWare - http://pybee.org/

[28]: VM (Vicky) Brasseur - https://opensource.com/users/vmbrasseur