想学习跨界知识,掌握编程思维?开智学堂编程思维 Python 基础班即将开课,点击文末「阅读原文」即刻预约课程。
浚宇是编程思维 Python 基础班四期的教练。十年前,浚宇刚开始接触编程,那时的他面对屏幕上闪烁的光标,手足无措,特别渴望有一个人能像高考前的语文老师一样,手把手教自己编程要注意什么,要怎么做;十年后,他写下了这篇文章,既是送给十年前的自己,教他如何学习编程,也是送给刚接触编程的你,希望可以帮助你成功跨过编程的门槛。(注:本文方法适用于编程入门阶段)
print "hello,world"
当屏幕上出现这行代码的时候,我仿佛回到了十年前 C 语言的实验室里。
那个时候手机还是诺基亚,人人网才刚刚兴起,大一不让带电脑;那个时候一群程序小白,坐在科技感极强的教室里,碰到了电脑,紧张又兴奋;那个时候面对屏幕上闪烁的光标,手足无措。到现在我都记得,那个时候特别渴望有一个人能像高考前的语文老师一样,手把手的教自己,编程要注意什么,要怎么做。
十年后,我写下了这段文字,既是教十年前的自己,也是送给刚接触编程的你,希望可以对你有所帮助。
源头
找到起源
市面上有太多 Python 教程,随便一搜都能找到很多,打开看一看,大同小异。无论是什么样的教程资料,能够告诉你的无非是这些内容:
如果你看的是一本实战类的书籍,还会有一些项目等等。
但这些都是二手信息,并非 Python 的源头。
当我们接触到全新的编程语言时,首先应该问问自己,这个语言是谁在什么时候发明的?起源是什么?为什么要发明这个程序?现在程序谁在维护?源码在哪里?官方文档在哪里?按照这样的思路,你才能找到一门编程语言的源头。
比如,用搜索引擎搜索「Python」,无论是哪一个搜索引擎,一定会有这两个内容:
总这里出发,能够最快、最准确了解到 Python 的信息,你再也不需要别人的评价和指点了。随着对上述文档的充分理解,你会逐渐对 Python 产生感性认识,能够初步的写一些简单的代码了。
在苦海中遨游,一次就够了
「hello, world」并不是全部,编程是否能够突破门槛,关键还是在会写一些简单的代码之后。除了官方文档和基本语法,还有其他一些高质量资料很有帮助:
到目前为止,我们已经有了所有食材,面对这么多优质信息材料,如何消化才是关键。此时,你会遇到的几大拦路虎:
语言:这是第一大拦路虎,对于很多刚进入计算机门槛的人来说,大家可能还没有意识到,这是一个英文主导的世界。优质的信息翻译成中文直到它在中文世界流行需要五年甚至更久,而各种程序在英文环境下才是最稳定的。所以你必须要过语言关,直到可以在英文的 Linux 环境中自如使用以及能够阅读英文文档。
范式:无论是 Linux 的命令帮助文档还是 Python 的命令帮助文档,解释方法本质上是一致的:它们都给出了命令、参数、用法、示例等。掌握了范式,看得懂帮助,能够实践起来,你便胜利在望。
面对这些拦路虎,除了死磕之外,就是死磕。但是死磕也有自己的方法:
多理解原理:无论是现在的源头学习还是后续的实践,你一定会遇到很多问题。有的人解决了问题,不明就里,得过且过。这样浑浑噩噩,可能很多年后也只能是一个初级码农。任何学科知识都可以当成一张大网。我们找到了源头,就把网提了起来。那么网络中间的连接呢?提问的方式是最好的建立连接方法。编程世界里语法是最基础的。但是语法背后的内隐知识,只有自己不断的刨根问底,才能习得;
制作学习卡片:计算机知识太过庞杂,怎么办?使用卡片是一个好办法。每一次学习结束 6-12 小时后,尝试编制自己的学习卡片,不借助任何外在材料,靠自己的大脑,把核心的内容梳理出来。一开始有困难时正常的,但只要你坚持一段时间以后,会有让你意想不到的效果;
尝试教别人:认知心理学已经有了研究,证明在同等条件下,即使是在大脑里想象自己教自己学习,都会提高学习效率。你可以尝试想象你在教一段时间之前的自己,当然,如果你能找到伙伴一起学习,互相教,会有更深刻的体会。
实践
计算机是一门实用的学科。有了工具,有了方法,还必须要实践。另外,实践和前面的源头学习是相辅相成的,并不是线性的前后关系。学了就要实践,实践了得继续学习,然后无限循环。
要有结果
任何一次实践,都可以模拟自己在教自己。告诉自己现在在做什么,准备如何来做,要有什么样的成果。而且每一次实践都要去总结。我们的结果可以是一段代码,也可以是一篇文章,或者一个卡片,甚至是和同学的一次沟通。无论是什么,都要注意一点:既然做了,就要做完。
要有输出
结果并不完全代表输出。每一次的学习要有结果,而一段时间之后,需要一个输出,这个输出一定要可以展示给别人看。它可以是自己的一个项目,可以是学习后的演讲。这个输出要让自己足够自豪,能够证明是自己经过一段时间努力后的成果。不要担心自己的输出不够复杂,罗马不是一天建成的,我们要相信时间的力量。
相信时间
刚开始接触大量代码时,及其郁闷,很多看不懂。可是现在,豁然开朗。两三个月前接触数据科学课时,毫无头绪,及其沮丧。现在,已经可以帮助自己解决工作的问题了。所以,相信自己,相信时间,相信沧海桑田。
工具
优秀的工具都有着自己的设计逻辑,也大多是简洁、美观的,这是一种享受。
不要害怕自己是小白,直接使用最专业的工具,和大牛使用同样的平台。在我们这个时代,GitHub 是再好不过的平台了,在上面你可以和全世界的程序员在一起互相交流学习,只要你使用它,你会感受到那里蕴含着无穷的力量。
如果能做到这些,相信你绝对可以通过掌握一门编程语言来走进计算机的世界,也相信你一定可以走得更远。所以,话不多说,开始动手吧!■
——- 预约编程思维基础班 -——
编程从新手到专家
自主网络数据抓取
养成良好提问习惯
自主开发编程项目
戳原文,预约学编程!