首页 > 程序人生 > 数学不好也能成为优秀的程序员
2015
09-07

数学不好也能成为优秀的程序员

创见干货:想学编程?数学不好?没关系,最新研究发现,学习编程所需的数学水平最多只要小学四年级,数学不好也能成为优秀的程序员。


众所周知,学习编程涉及很多知识,包括搜索、逻辑学、审错学,但是你知道这一切的最低数学基础要求吗?答案是不超过小学四年级算术水平。

一般我是不赞同任何人学习编程的,除非她是真的想学。我认为一个人应该选择自己喜欢的事业,开开心心挣钱,开开心心花钱才是最重要的。如果你学习编程的唯一目的就是成为一名程序员,因为你觉得那是唯一进入 IT 行业的方式,那么你就大错特错了。

虽然我不喜欢成为程序员,但是不成为程序员是需要正当理由的,如果你说自己因为数学不好成不了程序员,那我会第一个站出来反对。
数学与编程有关吗?从早期编程来看,两者几乎没有任何关系。事实上,我一直搞不懂为什么人们会把这两个风马牛不相及的事情混为一谈。难道就是因为这两个行业都由男性占主导地位吗?

传统观念上,中国人的数学普遍较好,美国人相比较我们就差得多了,但是数学很差的美国人编程却很好。Slate 公司的战略总监 Victoria Fine 是一位有名的编程女性,她本人像很多女孩一样讨厌数学,但依然自学了编程。她的秘诀是什么?大量的搜索。

和任何谷歌查询一样,一个完美的答案需要有正确的问题做基础。「怎样才能把网页做成红色的」并不是一个好问题,因为问得不够具体,好的问题应该是「CSS 色彩值十六进制红色是什么」与「CSS 背景色如何做」。我花了很多时间来学习怎样像一名专家一样使用谷歌搜索。我仔细学习了 HTML 语言词汇,所以我知道自己在网络上问问题时究竟在说什么。

Fine 的经验对于自学编程者来说是典型的例子,这与我自己的编程学习之路也很相似。在一开始,你需要记住一些基本的概念,例如网络的工作原理,什么是代码,怎样设置 FTP,等等等等。然后通过搜索、判断和试错来建立这些知识体系。

为了弄清楚你的程序应该说什么,你需要具备一些基本的逻辑技巧。你还要擅长从在线存储库的东西中选出有用的来复制和粘贴,并对它们略做调整。学习人文专业的学生,刚刚写学期论文,比起数学专业的学生,他们对于复制、粘贴、调整语序有着无与伦比的天赋。

我认识很多学习哲学或国际关系学的人,有学士、硕士,也有博士,他们中很多人都是自学编程。的确,一些代码的形式看起来很像数学中的公式,但是这些「公式」是不需要求解的,只需要知道把它们放在哪里和它们的用法就行了。既是企业家,又是程序员的 Emma Mulqueeny 说的就很好: 

大多数情况下,很难的数学题(物理和几何)要么被计算机解答,要么被其他人解答。计算的过程确实是发生的,而且对于程序的运行至关重要,但是作为程序员,完全不需要知道这一切是怎么做到的。

视频游戏的程序员可能需要比一般的网页设计程序员具备更多的数学知识。但是如果你只是想写一些可以在网络上显示的简单东西,那么你的数学水平只要能达到 Math Blaster(一款儿童数学游戏 App)的最高等级就行了。Math Blaster 里很好地概括了入门级编码所需的各种数学技能,最难的似乎也就是勾股定理。

从我的个人经验来说,学习编程你最需要具备的能力是在电脑没有得出你想要的结果时一定要控制住自己的暴脾气。平心静气方能成为优秀的程序员。

编程技巧