迈向高端软件开发的数学必经之路

[作者]
网名: 猪头三
Email: pliceman_110@163.com
QQ: 643439947
编程生涯: 2001~至今[12年]
职业生涯: 9年
职业岗位: 通用软件架构师 通用软件技术总监 通用软件研发工程师
开发语言: C/C++; x86asm; Object Pascal; C#;
开发工具: VC++; Delphi;
研发领域: Windows应用软件安全; Windows系统内核安全; Windows系统磁盘数据安全;
技能种类: 逆向 驱动 磁盘 文件
 
[序言]
很多人在学习编程的时候,都担心自己的数学功底不行,不知道如何把数学根据实际的编程需求进行补习。我花了半个小时来写了这篇文章,希望对大家有用。
 
[声明]
这里所说的“高端软件”一般指:人工智能识别、系统内核、游戏引擎、数据库引擎、网络大数据处理、地图等大型软件内部的基础核心。其实大多数软件人员不会从事这类高端工作。当然你有兴趣进军这类高端领域的话,下面介绍的数学理论,你必须牢牢的掌握并灵活应用。
 
[初等数学] 
”小学“到“高中”所学的数学,归类为初等数学。这是非常重要的阶段,就好比学习英文26个字母一样,先把最根本的原始知识概念弄清。
 
[高等数学]
大学本科非数学专业必修数学课程统称高等数学,这另一个重要的阶段,是为你面向科学理论研究做准备的。
 
有了[初等数学][高等数学]的基础理论之后,我们就可以进入计算机科学的数学理论学习: [离散数学]
 
[什么是离散数学?]
它是数学的几个分支的总称,研究基于离散空间而不是连续的数学结构。离散数学大致分为:14个
1 数理逻辑
2 集合论
3 信息论
4 数论
5 组合数学
6 图论
7 抽象代数
8 理论计算机科学
9 拓扑学
10 运筹学
11 博弈论、决策论、效用理论、社会选择理论
12 离散化
13 连续数学的离散近似
14 离散和连续混合数学
我个人建议优先掌握:[集合论]、[组合数学]、[图论]、[运筹学]、[博弈论、决策论、效用理论、社会选择理论]
 
4> 如果还需要完美一点,可以扩展和深入2个基础数学理论:概率论、线性代数
 
通过以上方法的系统学习之后,然后把所学到的数学理论应用到软件开发中,你基本是无人能敌了。
 
[个人建议]
数学理论的学习,是一个漫长的过程,是需要细水长流来进行的。在我眼里学习编程的朋友,从初一开始学是最合适的,因为这样的年龄在学习编程的过程中,也同时会受到学校内部的应试数学理论教育,通过2者的同时学习,可以灵活把概念互通,坚持到大学毕业,必将是中国的未来之星。当然,半路出家而获得成功的例子也很多,数学功底不好,也能通过开发软件发家致富的也很多,比如我就是一个数学功底不好的软件开发工程师,我干这样到现在快12年了,一样可以有房有车。所以我们不要总是因为数学而害怕学习编程,重要的还是个人后期的自我学习。
 
[之前我写过一篇文章,鼓励大家不要因为害怕数学而放弃学习编程的机会]



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不是代码教父

我的创作动力离不开你的真诚激励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值