1.1 数学对程序员重要吗?

举报
Tom forever 发表于 2020/02/09 12:58:53 2020/02/09
【摘要】 第一章 绪论1.1 数学对程序员重要吗?程序员到底需要不需要学习数学?如果从事计算机的相关领域的工作需要有什么样的数学水准?这是我被问过的最多的几个问题中其中最为典型的两个。如果我专门开这样一个咨询室估计我早就发大财了。我把这个问题作为全书最开篇一节的标题的目的就是为了引起你的重视,而不是随便在讲到什么地方的时候漫不经心地提一下。那么我现在就郑重其事的回答有这样疑惑的所有读者,绝大多数程序员...

第一章 绪论

1.1 数学对程序员重要吗?

程序员到底需要不需要学习数学?如果从事计算机的相关领域的工作需要有什么样的数学水准?这是我被问过的最多的几个问题中其中最为典型的两个。如果我专门开这样一个咨询室估计我早就发大财了。

我把这个问题作为全书最开篇一节的标题的目的就是为了引起你的重视,而不是随便在讲到什么地方的时候漫不经心地提一下。那么我现在就郑重其事的回答有这样疑惑的所有读者,绝大多数程序员的工作和数学一丁点儿的关系都没有,即便是有也都是你在中学就学到的那些数学知识。顺便说一句,外语水平也是和程序员的本职工作毫无关联的事情。因为如果你成为一名程序员的话,你绝大多数工作都是把别人已经造好的零件安装你的想法组装到一起。你更多的是需要一些技巧,而不是数学、外语还有一些别的什么的。

1.1.1程序员和数学的关联

所以这里就有一个问题,那么程序员到底需要不需要学数学呢?这里也有一个答案,如果你一辈子都心甘情愿的做一个把现成的东西组装到一起的程序员——我们常常讽刺这种人为搬砖的程序员。那么你不学数学也无所谓。

但凡你想造出来一点儿你自己的东西,或者是看懂现成的零件的运作原理的时候,你就必须要懂数学。有时候还需要一些外语功底,除非你愿意花大价钱请一个翻译。当然,如果你造出来的东西足够优秀,那么在开源社区有非常多热心的程序员愿意帮你把它国际化。

即使你顺利的避开了国际化问题之后,数学也会是你想成为一名优秀的程序员的必经之路。对于很多长期无法进步的程序员来说,数学往往是他们的绊脚石。为了成为更好的程序员,你应该具备一些数学知识。

1.1.2 如果我不懂数学,能不能成为编程高手?

即使你正在阅读的这本书就是教程序员如何学数学的,笔者也要告诉你这样一个事实:编程和其他学科的关联并不大。如果你想成为编程的高手,你完全可以不学其他的任何学科,即便是有人告诉你程序员必须要了解数学知识之类的事情,也不要听信。即使一丁点儿数学都不学,你只属于精通某一种编程语言或者某一方面的技术,你仍然可以成为一名编程大师。譬如Ruby之父松本行弘大师就曾经表示过自己的数学成绩并不理想。

如果你选择其他学科都不学还想成为编程高手,那么你就必须要做到精通某一种编程语言或者某一方面的技术这件事。这件事说起来容易,做起来难。实际是,只有一小撮人能够做到精通某种编程语言。或者,你还可以选择一个成为编程高手的捷径:学一点儿有那么点儿关系的学科,譬如数学。

按我的话说,数学是编程关系最为密切的学科。但是,你非要用到数学知识去编程的地方并不多。说得更明白一点儿就是,学数学可以锻炼你的脑力,让你在编程的过程中想得更快以及少走弯路。这已经比你学外语,就为了读懂一份外文资料来得划算得多了。毕竟,随着国际化的推进,外文资料迟早会被翻译的,但是永远没有人能够代替你思考的过程。

1.1.3 关于程序员英语的问题

你可能已经发现了,我一直在说外语对于程序员来说很重要。但是我从来没说过英语对程序员很重要。因为某一种特定的外语从来都不应该成为程序员的一个必备技能。就想你选择用何种语言编程一样,你也应该用同样的思路选择你学习何种外语。

这里有涉及了一个新的问题,就是我们应该选择那种程序语言进行编程。对于那些优秀的程序员来说,他们总是能脱口而出自己使用的编程语言——即使这种语言和他正在做的项目使用的语言相矛盾。就笔者我而言,我的工作语言是C语言,但是我在私下里却不愿意使用C语言开发东西。当我问你使用什么编程语言的时候,我就是在指你私下里使用的编程语言,而不是现在正在着手的项目。

如果你现在还没有决定好你私下里面用那种编程语言,那么记得去挑战一下欧拉计划。如果你在挑战欧拉计划的过程中发现哪种编程语言用着比较顺手,那么你就可以把这种语言作为你私下使用的编程语言。

欧拉计划是一个程序员必须知道的有助于提升数学和编程技能的网站。

那么,选择一种合适你的外语也是同样的方法。你可以去试着学一些你感兴趣的外语语种。选择一种给你感觉最好的,深入的学下去。



本文转载自异步社区

文链接:https://www.epubit.com/articleDetails?id=NC7E3EF9196C00001242D186B1C2115BA


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。