百科问答小站 logo
百科问答小站 font logo



程序员不需要知道太多数学,你认同吗? 第1页

  

user avatar   mr_lyc 网友的相关建议: 
      

我写条件判断的时候会用到卡诺图来化简逻辑。

虽说很多时候拍脑袋就能分析出来,再不济就遍历所有的状态来判断有没有漏掉。

但是用数学工具分析出来的结果总是让人安心一些。

你要说卡诺图我不会也照样能写出来。

诚然。

但是我 bug 就是比你少。


==== update ===

有人问我卡诺图要怎么对应到代码中,举个例子。

比如在一个物理机和虚拟机混合组网的云平台中,其中为了快速部署项目,我们提前创建好了一批空的虚拟机作为资源池待命,资源池的虚拟机由程序自动调度。

现在我们收到了一个服务器告警,这个告警是否需要发出去,有以下告警策略:

  • 这个服务器如果是物理机,则在以下情况告警:
    • 不在维护期;
    • 在维护期内,但是设置了接收告警;
  • 这个服务器如果是虚拟机:
    • 如果虚拟机不在资源池中,则在以下情况告警:
      • 不在维护期;
      • 在维护期内,但是设置了接收告警;
    • 如果虚拟机在资源池中,但是设置了接收告警,同样需要告警出来;

初步分析,告警策略和以下4个条件有关:

  • A:服务器类型(是否是物理机);
  • B:服务器是否在维护期;
  • C:服务器是否设置了接收告警;
  • D:服务器是否在资源池中;

维护期表示服务器在正常运行,但是管理员在上面进行一些敏感操作(部署或升级),可能会导致告警的产生,这种时期的告警会被当成正常现象处理。

我们用Y表示Y条件成立的情况,!Y表示Y条件不成立情况,灰色区域代表是否告警(1为告警,0为不告警,X表示约束项,不做处理),可得以下卡诺图:

蓝色框可得表达式:C

黄色框可得表达式:!B.!D

总的表达式:C+!B.!D

可见上面需求事实上和资源类型条件无关。

化简后的告警逻辑为满足以下任意一条即告警:

  • 服务器设置了接收告警设置;
  • 服务器不在维护期内且不在资源池中;

数学之美。


user avatar   Ivony 网友的相关建议: 
      

数学对于程序员而言是这样一种东西,你不懂的时候就不可能知道你需要它,反正别人的代码你都看得懂,但是你不可能知道别人是怎么想出来的。


user avatar   david-dong-20 网友的相关建议: 
      

我觉得困惑主要在于数学和程序员的定义本身都已经太广了吧。

数学的各种分支就包括了数理逻辑,数论,代数,代数几何,几何,拓扑,数学分析,泛函分析,计算数学,概率,统计,运筹等等等等。数学家一般也就对其中一两项分支比较熟悉,对其中一些工具特别精通。你说程序员这些东西都要学就有点扯淡了,一般是针对特定的问题才有需求。但是总体来说,逻辑基础,基础的离散数学,基础的微积分,基础的线性代数,基础的统计概率最好都懂一些,否则碰到需要的时候可能完全摸不着头脑。

程序员本身也是分支很广阔的,小公司里面专门拼接代码的也是程序员,做游戏引擎的也叫程序员,做数据挖掘的也叫程序员,做仿真软件工具的也叫程序员,做程序证明的也叫程序员,做科研软件支持的也叫程序员,做机器人的也叫程序员,做交易系统的也叫程序员。这么多不同种类的程序员他们对数学的要求和种类也是不一样的。还有很多程序员因为特定问题,需要掌握特定的数学工具,这在科研中还是挺常见的。

大体来说,现在大家觉得程序员不需要数学,我觉得主要有两个原因:

1,这几十年来软件工程发展的很好,编程语言和工具提供了很好的抽象度,很多基础工作都被封装好了,很多程序是调用API就可以完成。程序员的入门门槛降低了,所以很多人觉得完全不需要数学,其实主要是别人已经完成了大量的工作。

2,互联网发展的太火热,大部分需求还是从互联网来的。这一领域的普通业务在初级阶段由于现有的大量工具,基本上是什么数学都不太需要的。这种大量的需求使人产生了程序员不需要数学的错觉。

但是如果想做个高端的程序员,还是多学习一点吧,或者至少保持好的思维,用到的时候可以快速补一补。




  

相关话题

  怎么解释「正定矩阵」? 
  本科阶段数学系的你的一天是怎么度过的? 
  如果“P=NP”得到证明,意味着什么? 
  顶级的程序员是怎么样的? 
  有没有符合f'(x)=f(x+1)的函数? 
  谁能最简单的详解椭圆曲线算法,secp256k1 是如何生成公钥和私钥的? 
  数学从小就差的人在大学有机会翻身吗? 
  是否存在某些问题不能用有限步骤解决? 
  如何评价「泛函、映射、算子、变换都是函数,是搞数学的人骗普通人的把戏」这一说法?实际情况如何? 
  如何看待《红色警戒》代码在 GitHub 上开源?会有哪些影响吗? 

前一个讨论
世界所有鸟类的消化器官都是胗吗,还有的像哺乳动物一样是胃?
下一个讨论
如果海水是淡的,不含盐,是否会更有利于生物的生存?





© 2024-05-10 - tinynew.org. All Rights Reserved.
© 2024-05-10 - tinynew.org. 保留所有权利