程序人生:一流靠数学,二流靠算法!程序员的数学需要很厉害吗?
csdh11 2025-05-22 09:52 5 浏览
网上流传的对程序员的分级方式,不知道大家看到过没:
一流程序员靠数学;二流程序员靠算法;
三流程序员靠逻辑;四流程序员靠SDK;
五流程序员靠 Google 和百度;低端的看高端的就是黑魔法 。
说是段子,更是程序员的真实写照。我也知道,大部分普通程序员在开发过程中,用中学数学基础是足以应付的,好像不需要学习高端的数学。
但问题是,以目前的职场环境来说,只要你想再往上走一步、做任何一点带有创新性的技术,最容易遇到的,往往就是数学问题。
比如,算法涉及大量数学基础和相关背景知识,图形处理相关的算法,大量的线性代数矩阵变换等等,Google 还曾用一道数学题作为投递简历的门槛,之前朋友圈就被这个招聘广告牌刷过屏。
其实,不止是 Google,我随便翻了翻招聘启事,发现,很多大公司在招应届研发时,都会优先考虑数学专业的毕业生。
无论是数据结构与算法,还是程序设计, 底层原理和思路都源自数学 ,在大数据和智能化的时代,学好数学更是门槛本身。
“程序员不需要学数学,因为工作中根本用不到数学。有学数学的功夫,还不如认真把设计模式、计算机网络、操作系统这些硬知识学好。” 这是很多人的观点,是的,作为程序员,你不需要任何数学知识,也可以写好代码。
但我认为,数学学得好不好,将会直接决定一个程序员未来的发展潜力。往大了说,数学是一种思维模式,考验的是一个人归纳、总结和抽象的能力,放到程序员的世界,就是解决问题的能力。
往小了说,不管是数据结构与算法,还是程序设计,其底层原理和思路很多都源自数学。所以很多大公司在招人时,都会优先考虑数学专业的毕业生,因为数学基础好,学习编程会更容易上手。
那程序员到底该如何学数学呢?我整理了三位技术专家的看法。
Steve Yegge | 资深程序员
1. 正确学习数学的方法是广度优先,而非深度优先。你要了解的是整个数学领域每个概念的名字,并知道它们要解决什么问题。
2. 把数学当成文科来学,先不用重点看那些算法和证明,只需要了解数学概念的名字、作用、大致步骤、发明人、发明时间、局限等。
3. 数学符号是关闭你通往另一个世界的符咒,如果你看到一堆自己不懂的数学符号,就把它的实现功能简单地当成一个原子操作好了,不要深究太多。
徐文浩 | bothub.ai 创始人
1. 从工作相关的领域开始了解数学,这样你更容易获得正反馈。
2. 把正在学习的数学问题的解法,写一个算法程序实现出来,这是一个不错的练习方法。
3. 你可以选择对一门数学相关的在线课程,跟着老师的节奏来系统理解数学。
刘超 |《趣谈网络协议》专栏作者
阶段一:怎么使用?咱们做工程的,还是实现出来,程序跑起来看。我一开始使用Lucene的时候,因为接口已经十分友好,是很容易实现一个简单的搜索引擎的,这个时候,我还处在第一个阶段。
阶段二:如何实现,原理是什么?只会用可不行,原理都不了解,没法调优和Debug。我这个人爱看源代码,于是就去分析里面的原理,有的部分就比较晦涩,需要结合Debug和代码贡献者的文档才能有所了解,这个时候,我处在第二个阶段,写了大量源码分析的文章。
阶段三:为什么这样实现?其实实现一个东西有好多种方法,作者之所以选择这样实现,都是因为数学算过的,这样的性能或者准确度最高。我在读Lucene代码贡献者的文档的时候,有的作者会列出很多的论文,这里面有大量的数学推演,以及并列的多种方法,你才会发现开源软件的实现也是沧海一粟。这样才能举一反三。
希望对大家有帮助~
如果你想更好地提升你的编程能力,好好学习C/C++编程知识,以后努力成为高薪软件开发工程师的话!
编程学习书籍:
编程学习视频:
分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
C语言C++编程学习交流圈子,点击下方【了解更多】获取更多学习资料帮助你学习成长哦~
相关推荐
- Aspose.Cells新版上线,实现了更有效的格式转换功能!
-
概述:使用Aspose.Cells您无需MSExcel就可实现类似Excel电子表格的功能。Aspose.Cells新版上线,支持智能标记接受一个通用列表作为嵌套对象,还可以从StyleColle...
- Aspose.Pdf新版来袭,精准的分页功能带给您全新的阅读体验!
-
概述:Aspose.Pdf是一个PDF文档创建组件,用户无需使用AdobeAcrobat也可读写和操作PDF文件。Aspose.Pdf新版增加了对标题实例中UserLabel属性的支持,而且分页时...
- 15个最强大的STL模型修复工具
-
如果你进行3D打印,可能遇到过可怕的“无法打印STL”问题:你的STL文件看起来很棒,但它会导致切片机出现问题或导致奇怪的打印错误或完全失败。无论确切原因是什么,这些问题的根源通常归结为...
- Aspose.Slides for Cloud是一个让你高效处理演示文稿的应用程序接口!
-
Aspose.SlidesforCloud可以让你提取演示文稿中的幻灯片、文字、颜色、字体格式、形状和图像等不同的元素。它拥有强大的API可以让你处理云端的MicrosoftPowerPoint...
- Aspose.Words for .NET使用教程(四):渲染和打印及文档内容功能
-
Aspose.Words无需MicrosoftWord也可在任何平台上满足Word文档的一切操作需求。本文将以表格的形式与大家分享Aspose.Wordsfor.NET的渲染和打印及文档内容功能...
- Aspose.BarCode新版发布条码识别更准确
-
Aspose.BarCodefor.NETv7.4.0新增:BARCODENET-34297识别条码的尺寸较小的图像BARCODENET-34265新增对ITF14条码顶部和底部水平条的重置...
- Aspose.BarCode 更新至v7.1.0
-
Aspose.BarCode是一个功能强大,且稳健的条形码生成和识别组件,其使用托管的C#编写,能帮助开发者快速简便的向其Microsoft应用程序(WinForms,ASP.NET和.NETC...
- Aspose.Words 14.9.0发布,涵盖120多项更新
-
Aspose.Words14.9主要更新内容:新的报告引擎允许在报告模板使用LINQ方法语法。图像sdt支持数据绑定。DrawingML现在是一个复合节点。DrawingML支持链接的文本框。改善...
- Aspose.Email V6.6.0发布
-
Aspose.Emailfor.NET6.6.0更新Aspose.Email是一个类库,使得应用程序可以操纵包括MicrosoftOutlook在内的流行消息格式。它支持IMAP、SMTP、P...
- Aspose.Slides新版上线,更流畅地读取演示文稿!
-
Aspose.Slidesfor.NET15.9.0问题修复:SLIDESNET-36905-文本的颜色值错误SLIDESNET-36898-不能创建线形图报告SLIDESNET-368...
- 电子表格管理控件Aspose.Cells新版本v8.7.2发布!
-
表格控件Aspose.Cells支持所有Excel格式类型的操作,在没有MicrosoftExcel的环境下,用户也可为其应用程序嵌入类似Excel的强大数据管理功能。Aspose.Cells可以对...
- Aspose.Words for .NET使用教程(十一):检测文件格式和兼容性
-
Aspose.Words无需MicrosoftWord也可在任何平台上满足Word文档的一切操作需求。本文将与大家分享如何检测文件格式和检查格式兼容性。...
- Aspose.Total 6折,单品85折 史上最低仅剩10天
-
12月“百厂约惠”活动,ASPOSE迎来史上最低折扣6折(Aspose.Total6折,单品85折),现在活动进入10天倒计时,活动结束立即恢复原价。活动截止:12月31日活动内容:Aspose....
- Aspose.slide 批量替换母版背景图
-
收到一个业务需求,需要批量将pptx的母版的背景图进行替换,如果人工做的话,每个文件将需要花半小时到1个小时,每期100多个,每期将多要花费10多个人天,我们来看看怎么高效优化。直接祭起aspose....
- 一周热门
- 最近发表
-
- Aspose.Cells新版上线,实现了更有效的格式转换功能!
- Aspose.Pdf新版来袭,精准的分页功能带给您全新的阅读体验!
- 15个最强大的STL模型修复工具
- Aspose.Slides for Cloud是一个让你高效处理演示文稿的应用程序接口!
- Aspose.Words for .NET使用教程(四):渲染和打印及文档内容功能
- Aspose.BarCode新版发布条码识别更准确
- Aspose.BarCode 更新至v7.1.0
- Aspose.Words 14.9.0发布,涵盖120多项更新
- Aspose.Email V6.6.0发布
- Aspose.Slides新版上线,更流畅地读取演示文稿!
- 标签列表
-
- mydisktest_v298 (34)
- document.appendchild (35)
- 头像打包下载 (61)
- acmecadconverter_8.52绿色版 (39)
- word文档批量处理大师破解版 (36)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- parsevideo (33)
- 个人网站源码 (37)
- centos7.4下载 (33)
- mysql 查询今天的数据 (34)
- intouch2014r2sp1永久授权 (36)
- 先锋影音源资2019 (35)
- jdk1.8.0_191下载 (33)
- axure9注册码 (33)
- pts/1 (33)
- spire.pdf 破解版 (35)
- shiro jwt (35)
- sklearn中文手册pdf (35)
- itextsharp使用手册 (33)
- 凯立德2012夏季版懒人包 (34)
- 冒险岛代码查询器 (34)
- 128*128png图片 (34)
- jdk1.8.0_131下载 (34)
- dos 删除目录下所有子目录及文件 (36)