90%的新手程序员都被骗了!数学才是发展的根本,警惕!

“如果,你只想当个普通程序员,数学对你来说并不重要;但你要想做顶级程序员,数学对你来说就相当重要了。”这是硅谷技术交流 Meetup 上的一个分享,而在听到这番话之前,我很少思考数学和计算机编程之间的关系。

这二者之间的关系,到底有多紧密呢?我们可以从 Google 的一道工程师面试题谈起。

2004 年 7 月,硅谷的交通动脉 101 公路上突然出现了一块巨大的广告牌,上面是一道数学题: {e 的连续数字中最先出现的 10 位质数}.com。如果你不知道 e 是什么,现在可以重新了解一下,e 是数学常数,是自然对数的底数,无限不循环小数。这道题的意思就是找到 e 中最先出现的 10 位质数,得出一个网址。

进入这个网址,你会看到 Google 为你出的第二道数学题。成功解锁这两步,Google 会告诉你,我们或许是“志同道合”的人,你可以将简历发到这个邮箱,我们一起来做点改变世界的事情。

可以看出,Google 是一个对工程师的数学素养非常重视的公司。

其实,数学对大部分程序员来说,都是“最熟悉的陌生人”。我们从小就开始学习数学,它还是中高考和研究生考试的必考科目,这么说来,那些烂熟于心的数学定理和公式,陪伴我们至少 10 年了。

但很多程序员开始编程后,就会把数学抛之脑后。毕竟,作为一个基础学科,它可没有操作系统、数据结构和计算机网络这类课程看起来“实用”。大学时,为了缩在图书馆看编程书,我还翘过数学课,那会儿我偏执地认为,数学这东西不过是“应试教育”的一部分,而我只喜欢计算机这种实操类课程。

参加工作后,我写了这么多年代码,其中一个重要体会就是:对数学的掌握程度,会直接决定一个程序员的发展潜力。往大了说,数学是一种思维模式,考验的是归纳、总结和抽象的能力,放在程序员的世界中,就是 解决问题的能力。

往小了说,无论是 数据结构与算法,还是程序设计,其底层原理和思路都源自数学。数学不行,理解幂等原理都比别人吃力。所以,很多大公司在招人时,都会 优先考虑数学专业的毕业生。因为,数学基础好,编程就更容易上手,越往高处走,数学的功力在工作中就会越发明显地显现。

所以我经常说,如果编程语言是血肉,数学的思想和知识就是灵魂。在大数据和智能化的时代,学好数学更是门槛本身。

自己是一名五年的前端程序员

如果你依然在编程的世界里迷茫,不知道自己的未来规划,可以加入web前端学习交流q=u=n:731771211
里面可以与大神一起交流并走出迷茫。小白可进群免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行!群里不停更新最新的教程和学习方法(进群送web前端系统学习路线,详细的前端项目实战教学视频),有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入

点击:加入

原文地址:http://blog.51cto.com/14138686/2341324

时间: 2024-10-25 09:42:46

90%的新手程序员都被骗了!数学才是发展的根本,警惕!的相关文章

国外程序员推荐:每个程序员都应读的书

[更新]:近日(2012年8月17日)重看 StackOverflow 的原讨论帖,发现于今年年初被关闭了.不过有人做了汇总,把其他回复中提到的书籍,放在投票数最高的回复中.新更新添加 59 本书,详情可见文章后半部分. 编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的? “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东

StackOverflow程序员推荐:每个程序员都应读的30本书

“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语.以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书.其实除了前10本之外,推荐数前30左右的书籍都算经典,伯乐在线整理编译这个问答贴,同时摘译部分推荐人的评语.下面就按照各本书的推荐数排列. 1. <代码大全>史蒂夫·迈克康奈尔 推荐数:1684 “优秀的编程实践的百科全书,&l

每个程序员都应该了解的 CPU 高速缓存

每个程序员都应该了解的 CPU 高速缓存 英文原文:Memory part 2: CPU caches 来源:oschina [编者按:这是Ulrich Drepper写“程序员都该知道存储器”的第二部.那些没有读过第一部 的读者可能希望从这一部开始.这本书写的非常好,并且感谢Ulrich授权我们出版. 一点说明:书籍出版时可能会有一些印刷错误,如果你发现,并且想让它在后续的出版中更正,请将意见发邮件到[email protected] ,我们一定会更正,并反馈给Ulrich的文档副本,别的读者

CSDN日报20170505 ——《创业时该不该用新手程序员》

[程序人生]创业时该不该用新手程序员 作者:路过秋天 作为一名创业者,如果自己不是技术出身,是不该在一开始就用新人程序员的.就算做为技术出身,由于技术领域广,对于非自己领域能解决的事情,也不要轻易用新人程序员. 点击阅读全文 [Android]音频系统:从 AudioTrack 到 AudioFlinger 作者:沅纭 与 Audio 强相关的有 MultiMedia,MultiMedia 负责音视频的编解码,MultiMedia 将解码后的数据通过 AudioTrack 输出,而 AudioR

每个程序员都应该了解的内存知识

每个程序员都应该了解的内存知识 英文原文:lwn.net,翻译:开源中国 [编辑的话: Ulrich Drepper最近问我们,是不是有兴趣发表一篇他写的内存方面的长文.我们不用看太多就已经知道,LWN的读者们会喜欢这篇文章的.内存的使用常常是软件性能的决定性因子,而如何避免内存瓶颈的好文章却不好找.这篇文章应该会有所帮助. 他的原文很长,超过100页.我们把它分成了7篇,每隔一到两周发表一篇.7篇发完后,Ulrich会把全文发出来. 对原文重新格式化是个很有挑战性的工作,但愿结果会不错吧.为了

每个程序员都应读的书(转)

收藏,有时间,就读一读,有好处! 很多程序员响应,他们在推荐时也写下自己的评语.以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书.其实除了前10本之外,推荐数前30左右的书籍都算经典,伯乐在线整理编译这个问答贴,同时摘译部分推荐人的评语.下面就按照各本书的推荐数排列. 1. <代码大全> 史蒂夫·迈克康奈尔 推荐数:1684 “优秀的编程实践的百科全书,<代码大全>注重个人技术,其中所有东西加起来,就是我们本能所说的“编写整洁的代码”.这本书有50页在谈论代码布

每个程序员都必读的12篇文章

英文原文:10 Articles Every Programmer Must Read 作为一名 Java 程序员和软件开发人员,那些每个程序员都应该知道的 XXX 的文章教会了我不少东西,它们提供了某个特定领域的一些实用的并且有深度的信息,这些东西通常很难找到.在我学习的过程中我读到过许多非常有用的文章,我把它们添加到了书签里,方便以后阅读或者引用.我个人认为所有开发人员都能从这些文章中受益,因此我也写了篇"每个程序员都应该了解的"文章,准备分享给你们.这是我的个人收藏.在这篇文章中

[转] 程序员怎样学数学

Source:http://article.yeeyan.org/view/pluto/2365 --------------------------------------------------------------------- 读后感: 高中的时候数学成绩还不错,150分的卷子基本能保持在135以上.但是总感觉我的数学思维和数学修养仍然没什么提高.NUAA自招失败的经历让我彻底发现了这一点.大一学了一年的高数,又被繁杂的公式折磨得死去活来. 总感觉真正的数学不应该是这样的.但是真正的数

新手程序员应该知道的七件事

如果你刚进入专业的软件开发世界,那么得益于在计算机科学和编程方面的教育和/或培训,你已经具备了一定的知识.但是真正的开发业务工作又和在学校编程不同,这是你不可能从大学课程或编码学校中学会的东西. 无论你是一个刚毕业开始自己第一份开发工作的大学生,还是在编程领域有一定工作经验的年长者,以下是总结了哪些技能和知识是第一次写代码就应该掌握的,希望对新手程序员能够有帮助. 1.了解底层系统 软件开发的一个重要组成部分是,了解编程语言.但是,正如有些人建议的那样,开发人员还需要了解堆栈下面是怎么回事. "