something and everything
关于学习编程,我想聊一聊我的一些想法。
在很久之前,我和你一样,对编程充满了向往,希望能像很多书籍、视频中那样,敲着几句代码,电脑上便能出现种种非常厉害的代码。我看过很多书,青幕山当年写的网文《黑客》,是我一直以来向往的,至少在当年让我知道了很多之前未曾想过的事。
在上高中的时候,我曾短暂地接触过编程。那并不是很高级,没有体系,也没有老师。我不懂该从哪里找教程,也不知道学哪本书。当时我买了三本书,回头看,都并不适合入门。只是当时的我时间比较多,也不喜欢浪费时间在一些无效作业上。就大致算是入了个门,懂了一些基础。但深入,却无从下手,毕竟当时能接触的太少。
在高三最后那段时间,我在考虑选专业的时候,我在知乎上认真看了很多有一定深度的文章,都是在讲编程。那时候,我确信了,编程,或者说计算机,是现在以及未来多年的趋势。这是大环境的事,它不会如当年土木工程一样,逐渐走向没落。也不会如生物科学一样,走向世界的同时将底层的学生抛弃。
同时,我也找到了学习的正确路径。这不是一下子的事,而是看了很多文章之后确立的。在高中毕业之后,我并没有和其他人一样玩一个假期,而是自己学完了c语言,这为我之后打下了深厚的基础。你要知道,很多学生在大一都是在浪费时间度过的,而我这条路一直规划到我大学本科毕业。同时我也在不停试错与修正。
以上是我的经历。下面是我的一些思考和感悟。
编程难嘛?毫无疑问,难。但是又没有数学那般本质上的难。所以无论是哪个人,都一定能学会编程,区别在于时间与理解。但是,不要因此感到灰心。编程的难度为其本身增加了门槛,这意味着不是每一个人都有毅力去学的。同时,学习它需要很长的周期。你可能又有一些灰心。但这说明这个学科的潜力很大。试想,如果你能在短短几个月就轻而易举的学会这个学科,那也意味着换一个人也能轻而易举地将你取代。所以长周期往往意味着你有更长时间去发育,并且拥有更高的上限与他人难以取代的权利。另外有我在,所以你完全没有机会出现学不懂的可能。
同时,你也不需要担心这个学科没有数学那么有逼格。从这个学科本身来看,学到半山腰的人就已经能和做基础学科研究的人受到同等的尊敬,同时相比其它学科,编程能保证你未来至少不会失去接触数学的机会。另一方面,它比基础学科更贴近实践,这意味着你的任何想法都能很快投入现实,只要你想。最重要的是,在经过大量学习之后,这比其它学科帅很多,不是吗?
关于教你学编程的事,我一直在思考对你的影响。
总体上来看,一定是益处远大于弊端的。因为这条路远远长于高考,同时它的影响是潜移默化而意义深远的。但是,你是否有时间,有意愿去真正接触它呢?这是我所担心的。
这个问题并不是一时能说清的。随着课业压力增大,时间分流会更加明显。毕竟我当时深刻感受过,如果想面面俱到,必须将所有时间都花在学校的课业上。然而,这并不是我非常认可的。虽然你才高一,距离高考还有两年。但是我还是想讲一讲,高考并不是高中的意义。你确实应该在高中好好学习知识,但同时不能绝对的说把所有的精力都放在这上面。我更希望你能在这个阶段,多接触一些文学,经济学,心理学等等的内容,或是接触更多人与事并深入思考一些命题。也许这看起来很奇怪,但是在人的初期养成一个优秀的世界观,价值观或是金钱观,远比单纯的成绩重要的多。毕竟后者终将被淡忘,而前者会在更长的岁月中愈发深刻。幸好当时我是这么做的,回过头来看,很多不起眼的小事都决定了我命运的转折。
也许你没有意识到,但是现在,从我准备教你学编程开始,一定是你命运的一个转折点。你的任何一个微小的思考与决定都会深刻地影响未来,但不用担心,大胆选择应当是一个少年应有的自信,毕竟相比于玩游戏而荒废学业乃至影响到世界观而言,即使结果再差也不会糟糕到比这个更差了。学编程只是一个方向,是我认可的,相比于其它能力有用的多,也上限高得多的能力。它的作用随着时间往往呈现指数增长,学的时间越长,用处增长的越快。所以,你,做好长时间学习的准备了嘛?
最后,放心,我会考虑你的学业与其它事宜的。这些都应该被考虑进去,但不需要太害怕对课业的影响。每一次选择都一定带来一个好果子和一个坏果子。不要害怕得到两个坏果汁,不要贪婪于两个好果汁。不论如何选择,都是如此。(笑)
如果没有意外,我会继续一点一点的更新课程,并准备好你学习所需要的资料。这是一个漫长的周期,所以我不急,你也是。