您的位置:首页 > 编程语言

如何用十年掌握编程?

2021-01-20 21:22 686 查看

最近项目加班严重,技术文稍微延迟了点!

今天鹿哥为啥突然来谈谈这个话题呢?最近鹿哥发现很多小伙伴在自学方法或者编程习惯和鹿哥当年刚自学编程的时候遇到的一些坑感觉就像是一个模子里刻出来的。所以今天忙里偷闲抽空和大家伙多唠几句,顺便推荐一篇国外编程大牛写给编程新手的文章。

今天鹿哥会结合着国外编程大牛 Peter Norvig 写的一篇文章《为什么急功近利学不了编程》来谈谈。这篇文章下班后,俺又翻出来另读一番,在初学时早看到这篇文章多好。重读这篇文章后,再结合最近发现群里有些小伙伴经常出现的一些问题,就忍不住上来多唠两句。

今天鹿哥只选择原文中认为的一些重点和以及编程新手经常犯的错误来进行谈论的。

大部分童鞋不认识 Peter Norvig 是谁,那俺在这里简单介绍下,他是美国计算机科学家。Google Inc.的研究总监,并曾担任 Google 搜索质量总监。文中所提及到的文章原标题是《Teach Yourself Programming in Ten Years》。对原文有兴趣的,可以自行谷歌一下。

1、自学如何速成?

很多初学新手私聊问我最多的一个问题就是,鹿哥,我是非科班或者正在自学等等,如何短时间内速成?如何快速入门编程?如何短时间内通过自学编程找到工作?

其实这个问题每个人想心里都有答案,它好比就像,我没钱,如何短期内快速赚到钱的道理是一样的。之前鹿哥分享过一篇《为什么急功近利往往赚不到钱》,里边涉及到的很多点其实和今天所提及到的编程新手经常犯的问题是一样的,不同的是看你如何去以什么心态去品这篇文章。

为什么急功近利者往往赚不到钱?

先聊聊第一个问题,鹿哥,培训机构能快速入门,我要不要去培训呢?

对于这个问题,口头上的快速入门都是培训机构为了宣传自己,能够拉更多的人头。俺之前和二线培训机构打过交道,每到校招时,培训机构就会联合学校来各种挖人,各种神操作,各种追在天天你屁股后边,甚至在宿舍半夜都不走的那种。

在那段时间,我还没有出去找工作,转到前端也不久。主要是咱当时不知道找工作难度咋样,心里总是有些担心和不安的,再加上学历没优势,心理上更是少点自信的,就是因为少点自信,当时心里想实在不行就去培训。

后来我接触到培训机构的讲师,聊着聊着,原来发现是老乡,随后聊了很多相关编程和就业的话题,自然而然也聊到了一些学习方法,比如如何构建自己的知识体系,怎么准备面试等等,其实就是鹿哥平常在公众号分享的那些自学方法。

刻意练习| 一种心理学家公认的学习方法

如何找到属于自己高效学习方法?

后来了解到这些,结合自身情况考虑了一下,花两万去这种培训机构,真的不值得。

培训机构和你自学唯一不同的是,它已经把一些常见的知识点整理好了,然后一口一口的去喂你,督促你,到时候通过内推或者借助公司资源,给你介绍工作,准备面试。

我们看上边所聊到的,如果你不傻,不笨,真的没有必要花 2 万块钱去培训,而且现在互联网这么发达,开源的资源也不少,只不过自学需要多摸索,多实践。在这个摸索实践的过程中,也提高了你自身的某些能力,比如自学能力,再比如解决问题的能力和搜索资源的能力。

如果你真的是觉得目前时间很紧张,或者不得不立马需要一份工作的话,可以考虑一下培训机构。但是你是在校学生,时间非常充沛,完全可以抽出打游戏的时间,完全靠自学找份工作,对你来说,真的不是特别的难,只要肯下功夫,踏踏实实,剩下的交给时间就好了。当你真静下心学习,去找工作的时候,真的不是我们想象的特别难找。

现实中发现大多数人却不是这样子滴,而是急功近利的去追求短时间入门,Peter Norvig 在文章中也提到了,比如去看一些《x天入门 xx 语言》,尤其是到了某些语言风口的时候,各种打着几天入门口号的棋子接踵而来。

编程大牛费雷森等人在其著作《如何设计程序》中提到:“坏设计很简单,笨蛋才用21天学,尽管他们还是真傻。”

咱就简单分析下《三日学会 C++入门》意味着你学到了哪些?以下是大牛的几个看点,再加上鹿哥自己的一些自学经历和看法。

学习

三天内你可能没有时间写出有意义的程序,或者从中积累经验。你不可能有时间去跟职业编程者一起去理解在 C++ 环境下的状况。简而言之,你没有充足的时间学很多。所以这本书只能说肤浅的知识。正如亚历山大·波普所言:“一知半解是很危险的”。

鹿哥注:所谓的知其然,而不知其所以然,肤浅的东西很容易被吸收,而那些难的往往容易忽略掉,并不是每个人都喜欢深入思考问题这件事情。

语法

三天内你可能学会 C++ 的句法(如果你已经了解其他的语言),但你还不会使用它。打个比方,假如你是个 Basic 程序员,你可能写出 Basic 风格的 C++ 程序,而无法理解 C++ 的真实好处。要点是什么?

有可能你需要和现成的工具接口以完成手头的任务。这种情况下,你不是在学习如何编程,只是在学习如何完成任务。

鹿哥注:发现越来越多的人,工作中为了单纯完成领导的任务而完成。在学校里,而是为了交作业而完成作业是一个道理的。

三日

不幸地是,这远远不够。

看到以上三点,基本就概括了前期初学者想要在短时间内完成入门或者学好编程是不可能的事情。有人要说,几个月学好编程可行?那看大牛提出的如何十年学好编程。

2、如何十年学好编程

首先要对编程感兴趣,能从编程中得到乐趣。一定要让它足够有趣,因为你要保持你的兴趣长达十年。对于是什么是真兴趣,你是否对编程真正感兴趣,可以翻翻鹿哥之前写的一篇,希望能够帮助你认识到自己的真兴趣。

自学系列 | 俺今天就谈兴趣!

第二点就是,与别的程序员交流。阅读别人的代码——这比看任何书或参加培训课都重要。

鹿哥注:这一点在我实习的时候,我个人感触是非常深的,刚实习那会,每天扯着我们公司老大交流公司相关的主流项目,而且为了尽快适应开发,我通常拿出之前公司老项目看老大写的代码结构以及业务逻辑。

在这个过程,成长是非常突飞猛进的,直到现在,每天下了班,都会找我们前端部门老大都唠一唠,在前辈的经验或者技术交流中更快的进步。

第三点也是至关重要的一点,实践。

很多编程新手最长犯的错误就是眼高手低,还懒得去实践。俺这几天坚持在公众号更新实战项目,群里很多小伙伴都积极地参与去做,目前到今天,已经更新到了八个,但是有一些小伙伴还停留在第一个徘徊。

至于徘徊的原因,就是动手太少,对于项目很生疏,无从下手。解决办法只有一个,那就是多练,记得刚接触前端的时候,管它啥知名网站,拿来就是一顿仿,图片素材都是自己 PS,不仅学会了布局,而且 P 图这个技能也掌握了,两全其美。

今天二栏更新的项目就是要求你自己 P 图,想必知道俺的良苦用心了吧,只要关注鹿哥,怎么痛苦就怎么跟你玩,逼着你走出自己的心理舒适区。

在这个过程,俺注意到很多人会犯一个毛病,就是只要完成项目就完事了,你和人家大牛之间,少了一个步骤,那就是反馈。没有反馈的练习就是白练习,不是说一点进步没有,俺说的是不会发挥最大的效益。可以看看鹿哥分享的《刻意练习》一书的书评。

刻意练习| 一种心理学家公认的学习方法

大牛最后的一个建议呢,俺和他理解的不一样滴。建议是如果你愿意,花四年学习大学课程(或者再加上读研)。

鹿哥注:如果你是个普通的本科或者专科,大学课程真的没太多的必要跟着去学习,之前鹿哥文章中很多都提到了,可以去随意翻一下,就能知道答案。

想必大牛指的是一些教学质量高的学校,教学资源也多,师资想必都是混过大厂的,那么你大学四年不听课的话,那可真是错过了。

对于考研嘛,俺是不反对的,但是别不明不白的就去考研,尤其是计算机专业,为什么?猛戳下边俺写的一盘文章,读者反映还是挺大的。

别不明不白的就去考计算机的研究生!

还有几条,对于俺们来说暂时的用不到,比如至少学 6 种程序语言,一门学不好,咋去学六门,这就有点扎心了,嗯~ 今天就谈这么多,有想说的,下方给鹿哥留言呀,你们不活跃,鹿哥输出动力瞬间就减半了呀~ 哈哈哈~

鹿哥没值的夸的地方,难道还没值的骂的地方吗?比如,写技术文章比较 Sao,各种小幽默把复杂的东西讲明白;再比如上知天文,下知炒 gu,无所不精,Sao 的一批,期待,我们下篇见!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: