如何自学编程

首先,我应该学习编程吗?

你可能听说过一些观点,即每个人都应该学习编程。显然,答案是肯定的。你应该“认真”学习编程。一开始可能会让人望而却步,因为无论你喜欢哪种学习方法,你都需要付出一定的努力和思考才能成功。但值得庆幸的是,编程并不是一门高深莫测的科学(与流行的观念相反!)实际上,它是一种直观的东西——基本上,就是为你的计算机编写“指令”来执行。

所以,即使你不打算成为一名软件工程师,也有一些非常好的理由去学习一些编程技能。


自学是学习编程的最好方法吗?

实话是:学习编程的最好方法是立即开始。

但老实说,不是所有的人都有时间来回在多个网站/选项来以找到最有效的方法去学习编程。

测试:假设你刚刚从宜家买了一个咖啡桌,要开始搭建,你要怎么做呢?

选择1:你可能对事物运作背后的理论非常感兴趣,喜欢学习。你可能会从计算机科学课程中学到最好的东西。

选择2:如果是你自己的选择,你比较适合编程培训班。(需要花钱吗?也不需要,B站是个好地方)

选择 3:表示你喜欢被展示要做什么,但仍然希望自己完成大多数繁琐的工作,这时在线编程课程就比较适合。

选择 4,表示你是一个独立的学习者——你喜欢动手。你可能会从自己学习编写代码中学到最好的东西。尽管这个简单的测试表明了你将从哪种“学习方法”中受益最多,但它并不是一个严格的指南。


如何开始?

首先,你可能需要学习你喜欢的计算机语言的语法。

方法

而我的经验是,一旦你对某种语言感兴趣并基本会写之后,学其他语言就顺畅得多。因为毕竟只是写语法规则而已,且这些规则基本换汤不换药。


从小事做起

如果你几乎没有编程经验,不要一开始就一头钻进实现大数据结构或算法。首先尝试解决一些简单的问题,但是请相信,在这一点上,正确地理解概念是非常重要的。


阅读书籍

事实:软件行业的大多数人每年都要读一本书。

虽然这并不是学习编程最流行的方法之一,但只要你付出努力,书籍确实可以帮助你学习你需要知道的任何东西——而且,它们非常适合以后参考。

书籍会很快变得无关紧要吗?

不,特别是那些已经并将继续经得起时间考验的编程概念。毕竟,语言来来去去,但理论永存。

长话短说,基本概念比语言更重要。我们搜遍了互联网,列出了每个程序员都应该拥有的6本推荐书目:

  • The Art of Computer Programming 作者 Donald Knuth
  • Code Complete 2 – A Practical Handbook of Software Construction 作者 Steve McConnell
  • Don’t Make Me Think (Revisited)A Common Sense Approach to Web and Mobile Usability 作者 Steve Krug
  • Peopleware – Productive Projects and Teams 作者 Tom DeMarco & Timothy Lister
  • The Pragmatic Programmer – From Journeyman to Master 作者 Andrew Hunt & David Thomas
  • Facts and Fallacies of Software Engineering 作者 Robert L. Glass

奖励自己

这是你每天都要面对的残酷事实:编码是困难的,保持动力并不容易。那么你会怎么做呢?

“奖励”可能听起来像是一种自我放纵的、几乎是轻浮的策略,但研究表明,它在重新激励我们、提高我们的满足感方面发挥着重要作用。

而且,每当你成功地达到一个里程碑时,它就会产生一种积极的强化作用,从而使学习过程变得更加愉快。

例如,在你读完某一本编程书后,去买那些你在过去几个月一直关注的新鞋子吧。
或者,选择一个你真正想学习的项目或技能,然后去做。不要只做那些“无聊的事情”。


克隆流行网站

也就是找到一个你喜欢的网站,然后对它进行逆向工程。教程是学习新概念的完美工具,但对于许多设计师来说,从头到尾构建网站才是真正巩固他们知识的东西。

通过这样做,你将有无限的选择,你可以尝试建立模仿网站的一些最好的开发者在这个行业。最重要的是,因为这是一份没有报酬的工作,所以做任何事情都没有压力。你还可以自由地添加或更改元素,只要你高兴!

你所要做的就是在你的浏览器上打开网站,假装你看到的基本上是你代码的“框架”。

我们的建议是从一些简单的开始——比如一个单页的“简历”网站——然后再去做更复杂的网站。并且,当你这样做的时候,请留意一些技术,如响应式网页设计、动画、CSS3效果等。在使用这些特性之前先了解它们,这将帮助你将它们引入到你的工作流中。

另一个专业提示:在线课程报告有一个教程列表,你可以克隆15个知名网站,如Etsy, WordPress, Quora, Pinterest等。

还有一件事:这是不言而喻的,但这样做的目的纯粹是为了练习。不要把这些设计冒充自己的!


把你的代码拿出来

随着越来越多地参与编程,你会发现必须学习Git。(如果你还没有到这里,这是以后要担心的事情!)这就是Github的用武之地——它是一个寻找合作伙伴的好地方。

作为一个初学者,你最不想做的事情就是向全世界炫耀你潜在的混乱和业余代码。

然而,如果你在没有正式导师的情况下自学编码,那么将你的代码放到GitHub上并获得反馈甚至改进建议,这将是非常非常有益的。

额外的好处:Github还可以用来寻找(真实的)项目,你可以通过克隆和修改来帮助你学习如何编写代码。


数量>质量 (开始阶段)

如果你刚刚开始学习代码的旅程,并且只打算从本文中有所启发,那么就这样吧:

你可能是世界上*最好的*程序员,但如果你不付诸实践,那就毫无意义。 编写代码是从错误中学习的好方法。 而且,直到你在精神上不断地致力于编写代码,你才会有所改进。

此外,在某些情况下,你必须远离指导手册或教程,开始从事自己的工作。

换句话说,试着尽快编写自己的代码。

可以从简单地尝试“重新创建”刚刚完成的教程解决方案开始,以构建实际的工作项目。
同样,一开始可能不太好,但你必须从某个地方开始


卡住了怎么办?

编程卡住了怎么办

在你的代码中遇到了瓶颈,你似乎无法释怀?不能理解一个重要的概念?很多程序员都这样做过,所以如果你陷入了困境:

要知道你一开始就会做得不好(没关系!)

谷歌一下/百度

找一个导师

检查元素,或代码

休息片刻

这一点特别强调一下: 在编程过程中休息一下有无数的好处,尤其是当你在做一个项目的时候。有时候,你所需要做的就是离开你的电脑(从而让你的大脑休息一下!)去洗手间或吃饭,这样你就能以一种全新的眼光来看待你的代码。关键是更聪明地工作,而不是更努力地工作!

最后,如果我学会自己编写代码,我*是否*能成为一名优秀的软件开发人员?

申请软件开发人员的工作,尽管你在这个领域没有任何正式的书面资格,这听起来可能是一件可怕的事情。尤其是当你所拥有的技能的“证明”只是在线编码课程网站(如Coursera/ Codecademy和你的GitHub库)上的一堆徽章时。

长话短说……是的。有很多优秀的程序员都是自学成才的!

你完全有可能成为一个自学成才的程序员。然而,这将是一个漫长而乏味的过程。有一种说法是,要精通某一领域,需要大约一万个小时的练习。

成为一名优秀的程序员并不是不可能的——无论你是选择获得计算机科学学位、参加几门在线编程课程、参加编程训练营,还是自学如何编程。记住,在学习如何编码时,没有什么硬性规则。

然而,我们不打算粉饰事实——随着你前行,事情会变得越来越难。
但是记住,任何有价值的事情都会伴随着很多的失败和拒绝。

当你开始你的编程之旅时,你一定会遇到障碍。也许,你应该继续保持学习和思考,直到突破。所以,不要把自己限制在一种学习方法上——你只会剥夺自己找到突破的机会。


其他人还浏览了:



公众号

关注公众号,获取一手资讯

“ 如何自学编程 ” comments 0

评论/回复

电子邮件地址不会被公开。 必填项已用*标注