- Part.1.A 为什么一定要掌握自学能力?
- Part.1.B 为什么把编程当作自学的入口?
- Part.1.C 只靠阅读习得新技能
- Part.1.D 开始阅读前的一些准备
- Part.1.E.1 入口
- Part.1.E.2 值及其相应的运算
- Part.1.E.3 流程控制
- Part.1.E.4 函数
- Part.1.E.5 字符串
- Part.1.E.6 数据容器
- Part.1.E.7 文件
- Part.1.F 如何从容应对含有过多 “过早引用” 的知识?
- Part.1.G 官方教程:The Python Tutorial
- Part.2.A 笨拙与耐心
- Part.2.B 刻意练习
- Part.2.C 为什么从函数开始?
- Part.2.D.1 关于参数(上)
- Part.2.D.2 关于参数(下)
- Part.2.D.3 化名与匿名
- Part.2.D.4 递归函数
- Part.2.D.5 函数的文档
- Part.2.D.6 保存到文件的函数
- Part.2.D.7 测试驱动的开发
- Part.2.D.8 可执行的 Python 文件
- Part.2.E 刻意思考
- Part.3.A 战胜难点
- Part.3.B.1 类 —— 面向对象编程
- Part.3.B.2 类 —— Python 的实现
- Part.3.B.3 函数工具
- Part.3.B.4 正则表达式
- Part.3.B.5 BNF 以及 EBNF
- Part.3.C 拆解
- Part.3.D 刚需幻觉
- Part.3.E 全面 —— 自学的境界
- Part.3.F 自学者的社交
- Part.3.G 这是自学者的黄金时代
- Part.3.H 避免注意力漂移
这是自学者的黄金时代
历史上,自学者从未像今天这样幸福。
以前不是这样的。比如,几乎每个中国人从小就听说过无数次那种 “为了拜师学艺一跪就几天甚至几个月也不一定被收下” 的故事。
在古代,拜师学艺的确是很难的事情。首先,真正的好老师确实难寻;其次,高手也没空当老师;再次,就算是肯收徒授艺的老师也总是时间精力极其有限…… 更为重要的是,那时候想自学也真不行 —— 根本就没有什么称得上是文献的东西可供阅读或检索,很多重要信息甚至干脆只存在于某些人的脑中,就算它们被落实成了文献,也相当有限,且散落深藏在各处 —— 就算凑齐了,也没有 Google!
对,最关键的是那时候没有 Google……
今天的互联网,已经不再是二十几年前刚出现的那样 “激进而简陋” 的东西了。经过多年的发展,互联网上的内容已经构成了真正意义上的 “全球唯一通用图书馆” —— 而针对它可用的检索工具中最好的,当然是 Google。
于是,今天,自学者在真正的意义上身处于一个黄金时代 —— 没有什么是不能自学的。注意措辞,在这句话前面甚至根本不用加上 “几乎” 这样的限定以示准确 —— 你想学什么,就能学什么,而不是 “只有先拜师才能开始学艺”。
今天的你,想学什么就去问 Google;在学习中遇到什么问题,就直接问 Google —— 直接问它,通常总是比向某个人提问有效率得多。Google 就是这样,越用越离不开它……
其实很多人并不真的懂如何用好 Google 的,可是连这个它也能解决,因为你可以直接问它:
经过多年的发展,Google 的使用体验越来越好,2019 年的今天,你搜索以上语句返回的页面里,Google 甚至在众多搜索结果中选了一条它 “认为” 是 “最佳” 的搜索结果:
lifehack.com 上的这篇文章也的的确确值得细读 —— 读过且真正理解之后,不夸张地讲,你的 “搜索技能” 已经足够灭掉整个人类当前活跃群体中的 99% 了…… 这个说法真的完全没有夸张,绝大多数人就是不会在搜索的过程中使用那些符号的,比如 -
*
~
@
#
:
"
..
—— 还有很多其它技巧…… 话说,你在 Google 上用过 Time *place*
吗?
已经掌握了正则表达式以及 glob 的你,学习一下如何使用这种符号,实在是太小菜一碟了 —— 然而,这么简单的东西所能带来的未来收益是非常惊人的,不信走着瞧。
可实际上,还是得应用我们之前说过的原则:
首选查询,肯定是官方文档。
这么做的重要理由之一,是为了让你少受 “二手知识” 的蒙蔽和误导。这里有一个绝佳的例子让你理解二手知识的局限性:我写过的一本 “书”,发布在网上 —— 这本 “书” 的另外一个 “神” 之处,在于它能让你 “顿悟” 阅读的力量,不管你是男生还是女生…… 若是这个链接错过了,你竟然会错过整个生活!
Google Search 的官方文档在这里:
Google 还有更为强大的工具给你使用,叫做 Google Custom Search,官方文档在这里:
对编程工作来说,Google 当然格外地更为重要 —— 互联网上积累的最多最专业的信息,当然是计算机相关信息。所以,当你遇到什么错误提示的时候,不仅要问 Google,还要优先问问 Stackoverflow —— 连 Google 自己都这么干。在 colab.research.google.com(Google 为它的 TensorFlow 服务搭建的 Jupyterlab 环境)上,如果你运行什么代码出错了的话,那么,出错信息下面会出现一个按钮,上面写着:SEARCH STACK OVERFLOW
,点击它就直接给你 Stackoverflow 上的搜索结果…… 真够意思!
Google、Stackoverflow、Wikipedia、Youtube,这些都是你经常要去搜索的好地方。
二十年前,Google 刚出现的时候,谁能想象它今天这个样子呢?以下是 1998 年 11 月 11 日 http://google.com 这个网址的截图:
当时,网站还没有正式上线,第一个链接是一个原型设计,用一个二级域名发布在斯坦福的网站上:http://google.stanford.edu/:
那个时候,Google 还要向外人强调一下,他们已经有 2500 万页面可供检索!
事实上,到了 2008 年,Google 公告称,可供检索页面已经超过一万亿(One Trillion),到了 2016 年年底,这个数字已经超过 130 万亿……
换个角度看,这个数字同时也是互联网上信息的积累 —— 世界上再没有比互联网更大更全的 “书” 了。并且,由于 Google 的存在,互联网这本大书,是可检索的!
于是,有事先问 Google 就成了自学者的必备修养。
能 Google 出答案的问题,就不需要去麻烦别人。
这也是一个自学者的基本素养。
偶尔,也确实会遇到 Google 了很久,就是没有找到答案的情况…… 这样的时候,你可能需要想办法 “问人” 了。然而,最靠谱的通常并不见得是 “身边的人”,而是互联网上各种垂直社区里的其他用户……
向人问,也是有学问的 —— 很多人张口就问,结果呢?结果没人理。为什么呢?
作为一个有素养的自学者,有一篇文章必须精读:
这是大神 Eric S. Raymond 和 Rick Moen 于 2001 年在网上发布的文章,被人们奉为经典;迄今为止经历了很多次的修订,最后一次是在 2014 年,Revision 3.10
—— 前后被翻译成了许多种语言。
不认真使用 Google,你就错过了整个人类历史上自学者最黄金的时代。