想自学编程,从哪下手,效率最高?

男宝小崽子 2024-02-21 19:05:39

有些朋友给我留言说,兴致满满的开始自学编程,但是拿到一堆书,却不知道从哪开始,最后的结果就像下面这个图:

下面结合我之前的学习经历,如何从零基础慢慢提高。

1.首先,给你的学习编程一个重要的意义

做任何事情前,你都要首先明白为什么要做?这个理由不是学校开了某个编程课,你为了应付考试。或者看到其他人都在学,你没事干,也学下吧。这都是盲目的表现,就好比你追一个女孩,不是因为她家有钱,最重要你追她的原因是:你真的喜欢上了她。

所以从一开始,就给自己的学习定一个大的意义,这会让你不会中途放弃。而且能带给你前行的动力。

我当年学习编程,是因为觉得未来很多互联网的行业都于编程有关,意识到这是个基本技能,而且技能在手,不会哪天饿死街头。同时,编程的世界很纯粹,不像其他行业需要很多关系去维护,要想网上爬,的整日琢磨如何混好。但是,在编程的世界里,全靠技术说话:你行就行,不行就不行。

而且现在是人工智能时代,编程已经变成了像 Excel 那样每个人都需要掌握的技能,你觉得学校编程意义大不大?更重要的是,学会编程你的收入概率会比其他人高。

2.如何选择你人生的第一个编程语言

很多人一开始是对编程有兴趣的,但是之前很多大学一上来就教 C ,C++ 。里面复杂的内容,也让很多人从入门到放弃。到最后连兴趣都没有了。没有兴趣是最可怕的敌人。

如果你是刚开始学编程,选一个比较人性化的编程语言,我建议从 python 开始。它足够简单,而且容易上手。而且现在连小学生都开始学 python 了。

我们再看看各大兵器排行榜上的 python 排名,它已经是人工智能的第一编程语言。相信它的火热程度还会持续升温。

3.选择一本经典的书进行系统学习

很多人一开始为了追求快速,会选择一些比如 xx 天学会 Python ,xx 天学会机器学习的书。这些书看上去高大上,其实是在误导你。世界上哪有xx天就能学会的,记住一条原则:越是有价值的知识,越难学,不然很多人都能学会了。

一般来说,一本书要比公众号的文章系统性强,一本某个领域的经典教材要比很多快销书系统性强。一个系列课程要比一次 1 小时的分享系统性强。所以从一开始就摆正心态,不要急于速成,有时候慢就是快。有了这个心态,就老老实实选一本这个行业经典的书,最好是国外的书。

既然在这个领域你是新手,就不要指望自己能把散落的信息整合成系统了,那是高手要做的事情。要想系统地学习,那就踏踏实实地拿出几个月的时间来,看几本这个领域的经典书,选一门系统课,或者跟着一个系统学习过的老师把这个领域的骨架摸清楚。

你又不比别人聪明几倍,却想用几分之一的时间,就掌握人家花了好长时间下了硬功夫,系统掌握的知识,怎么可能呢?先接受一个已经存在的系统,再在上面修修改改,对于新手是最适合的方案。

4.选择一个有界面的编程环境

很多编程的书,一开始安装后,都是教你在命令台下写代码。面对这么一个黑洞洞的东西,你的兴趣又降下来了。

一开始编程不要在这个不友好的命令行下做。而是找一个集成开发环境(IDE),在里面敲代码。人对有界面的东东天然有好感和兴趣。比如学习 Python ,一开始用 notebook 就很容易敲出代码,而且运行结果也能实时的反馈给你。

当然最开始要做的事情就是先把环境搭起来,开始输出你人生的第一行代码:“Hello World”。这是简单的第一步,但是对于很多完全自学的同学都非常难了。好事情是,现在网上很多教程可以帮助到你。

5.重要的事情说三遍:多敲代码

编程是门手艺活,什么意思?就是你的多练习。这就好比,一个懂得再多泡妞理论的单身狗,都没有一个谈过恋爱的人,更懂得如何追女孩。

不要光看书,或者光听课。要多撸代码,在实践中成长。遇到不明白的地方,就多联系生活中的事情就类比想明白了。比如我在学习数据结构:队列,不明白的时候,就联想到了餐厅外婆家的排队叫号系统,就立马明白了。

其实编程中很多东东,都是为了解决现实生活中的问题,所以很多知识都能与现实生活中的实际事情对应起来。

6.学会记笔记

很多人刚开始学编程以往里面的很多东西都要记住,其实这是错误的做法。

不用去记住这些代码,理解代码比记住代码更重要。这里我们能理解代码是干什么用的就可以了。如果后面用的时候忘记了,反过头来知道在哪查找答案就可以了。这是学习的重要思想之一:知道在哪查找答案比记住更重要。

很多时候你感觉自己学会了,但是其实并没有掌握。我个人解决这个问题的办法就是记笔记。记笔记不是简单的罗列知识,而是将学到的知识,用自己的语言整理出来。同时,记笔记还能通过输出倒逼你的输入。下面是几个写实践笔记的讨论,对你应该会有帮助:

7.学会使用搜索引擎

刚开始学习编程,看到代码报错,就会茫然失措,脑子中立马闪出一个 'funck' 。

其实解决编程代码问题也是有套路的,这个套路就是:

能不用百度就别用百度,你要学会在宇宙第一大搜索引擎,和全球最大的技术问答平方:stackoverflow 上搜索问题的答案。

一切的学习都是学习能力的提高。对于编程,真正的高手,就是遇到问题能从搜索引擎中找到答案。

8.多看大牛的技术专栏

平日多关注这个领域顶尖高手的技术专栏(博客),选择你认可的人成为你心目中的榜样和导师。因为导师可以降低你加入一个新行业的成本,帮助你熟悉环境和行业规则,也会鼓励你完成心理方面的转变。

同时你也要 建立新的学习社交网络。如果你周围没有和你同样喜欢学习编程的人,会阻碍你的进步,更糟的是,有的人自己学不会,还会嘲笑你。过去的人脉关系会阻碍你的前进,因为他们是以过去对你的认知来评价你。感谢这个互联网时代吧,你可以在网上找到志同道合的朋友和你一起前进,新领域的人脉,会给你提供各种各样新的机会和情感支持,帮助你融入。

人都是都是“快感型”物种。再加上学编程是一个长期的过程。所有需要你自己列个长期计划,并把长期计划分成段目标,每个目标完成后给自己进行激励。

9. 比知识更重要的是什么?

如果你有机会去互联网工作,就会发现你不会一直用一种编程语言工作的。很多时候,新项目来了,需要用新的技术,这时候老大会让你快速学会这个知识,然后在项目中应用。我之前做过的不同项目用到的编程语言来就有5种,而且是边学边用的。

回过头来看,比知识本身更重要的是你的学习能力。那什么是学习能力呢?

学习能力其实就是你能够做到“学什么会什么”。

有学习能力和没有学习能力的人差别是很大的。这就好比,你玩《王者荣耀》花钱找人替你通关,和你自己拼个人能力通关,所习得的技能和体验是完全不一样的。

提高学习能力的至少关键知识是什么呢?

其实就是两点:

1)习惯使用搜索引擎的能力

2)不做伸手党的能力

这两个能力看起来简单,但是长期养成却很难。

投机与投资的差别就是投机看重的是短期的股票涨跌,而投资看重的是一家公司长期的发展,希望你在学习编程的路上采用的是“投资”战略,并且培养了自己的学习能力。加油,你并不孤独。

我是猴子,中科院硕士/前IBM软件工程师/豆瓣8分《数据分析思维》作者,我和知乎知学堂研职在线联合出品的「数据分析训练营」即将开课,3天带你掌握数据分析实用技巧,包含课程+实战带练,工作提效、升职加薪必备神器!

0 阅读:0