学计算机是必须学数学吗，数学不好推荐学计算机吗?
拿离散数学举个例子吧。离散数学中对于计算机比较重要的有数理逻辑、信息论、形式语言与自动机理论、图论、数论、集合论等。这些数学理论构成了计算机科学的基石，可以说，没有这些就没有现代电子计算机。具体到对编程本身的帮助，这些基础课程的作用可有可无可大可小，完全取决于编程的内容。程序员不需要对这些理论有什么理解也可以写业务逻辑和前端界面，是因为理解这些东西只需要常识，不需要数学。但是写编译器不懂形式语言与自动机，或者写密码学库不懂数论抽象代数就像小学生做微积分一般。换句话说，离散数学是帮我们研究计算机能力极限的工具，是用来提供算法的。它们对狭义的编程——把算法转换为代码的过程的帮助仅仅在于能让人理解算法，帮助规避实现时可能的错误。数学的本质，是抽象。而计算机的本质：算法，就是一种抽象。可以不规范地这样理解：具体问题➡抽象成一般问题➡算法➡离散数学。对于一般人来说，只是为了找工作，把算法学会就够用了，但是如果想更进一步，离散数学是绕不开的一步。所以在现实生活中不乏有数学不太好但非常厉害的程序员大佬，应用层和原理层是两个不同维度。数学不好推荐不推荐学计算机，关键还是看自己未来想选怎样的路吧。