百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

程序人生:一流靠数学,二流靠算法!程序员的数学需要很厉害吗?

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....

C#导出excel复杂表格(单元各合并)

...