你必须擅长数学才能成为一名优秀的程序员吗?如果你数学不好,你应该从事计算机科学的职业吗?
每个编码者都会经历这样的一个阶段,我称之为“绝望的山谷”。
它看起来大概像这样:
凌晨3点,我的眼睛很疼,我读了一大堆文档和书籍为编程做准备,但是当我想写一个简单的程序时,我的心就会紧张起来。
在阅读代码和“urllib”模块的文档四个小时之后,想获取URL、解析响应以及打印一些标题到终端时,仍然像攀登没有氧气的珠穆朗玛峰一样困难。
所有的知识都在我的脑海中浮现,它们曾经带我高飞并且做些有用的东西,一些能解决现实世界中的问题的小东西......然而,每当我靠近边缘时,我却会退缩:
“对这个东西我没有把握。”
“我数学不好,我永远不会成为真正的程序员。”
“每个人都认为我在业余时间学习这个东西就是一个傻瓜,没有什么可以证明的。
这是一个定律:
如果你不能成功地写你自己的程序,你就不能建立你的信心。如果你没有信心,你就不能写自己的程序。
我觉得几乎每个人都会经历这个阶段。
我当然经历过,而且真的是很糟糕,几乎让我感觉自己没有申请大学的计算机科学学位的资格,因为我觉得自己没有资历。
但是我却不甘心。
所以,有一个周末的晚上我决定挑战一下自己,以改变我的命运:
如果我可以坐下来写一篇关于Minimax算法的文章,并写一个播放井字游戏的Python游戏“AI”,那么我就能证明我自己,并且我会申请大学的计算机专业。
如果我写不出来这个程序,我就会忘记我的梦想,并且选择一个不同的职业。
现在,这个实验怎么样了?
结果就是:星期一上午,我的眼睛充满着血丝,对自己的编程技术我比以往任何时候都不自信。但是我知道我已经写了一些可行的东西,我不妨申请大学,试试我的运气--其余都就当成历史。
只是我清楚,我不会把它推荐为你生活中应该使用的“银弹”技巧。
但是对我来说(除了给我带来了可怕的周末压力之外),它给了我一个解决持久性纠结的宝贵教训:
如果你想学习编程这样的难点技巧,它将会有一系列的“东西太难了,难受的想去撞墙”的时刻--偶尔还会有脑细胞严重不够用。
在这个行业总会有新的挑战,挫败的感觉和无休止的学习永无止境。我发现处理这种压力的唯一方法就是把它当作生活的一部分。
所以,如果你现在已经经历了这个“低谷”,意识到了这一点:
成千上万的编程人员和想成为编程的人员正在经历同样的经历,成千上万的人在你面前经历过,而且还有更多的人将来也会经历。
这不是你一个人在走的路。
需要勇气来克服挫折,并正视它。
而且你可能会到另一重痛苦的境地--但如果你梦想成为一个程序员,这是唯一的方法。
继续前进,不要放弃。
我相信你可以做到。
领取专属 10元无门槛券
私享最新 技术干货