编程需要高等数学吗
Does programming require knowing math? Not necessarily.
编程需要了解数学吗? 不必要。
You can be a great programmer even if you were bad at math in school.
即使您在学校数学不好,您也可以成为一名出色的程序员。
I mean, I’ve been programming for the last 20 years and I never had to open a math book to remind myself of something I had to know but forgot. I did quite a lot of math both in High School and at the University. Things so advanced and abstract that I don’t even remember what was the goal of learning those (if there was even a goal, except passing the exam).
我的意思是,过去来我一直在编程,而且我从来不需要打开一本数学书来提醒自己一些我必须知道但忘记的事情。 在高中和大学期间,我都做了很多数学运算。 事物如此先进和抽象,以至于我什至都不记得学习那些东西的目的是什么(如果还有目标,除了通过考试)。
It’s some sort of conventional wisdom that you absolutely need to be great at math to be a great programmer. Maybe because the first people programming computers were mathematicians, mostly because there was no “computer programmer” school around. Also, studying Computer Science or Computer Engineering involves a lot of math, but this is not really necessary on the field. 90% of a CS degree involves studying things that are really interesting, sure, but hardly practical. You need math to understand the underlying theory. But in day to day programming? Hardly so.
成为一名优秀的程序员,您绝对需要精通数学,这是一种传统的见识。 也许是因为第一个人对计算机进行编程是数学家,主要是因为周围没有“计算机程序员”学校。 同样,学习计算机科学或计算机工程涉及很多数学,但这在现场并不是必须的。 90%的CS学位涉及研究真正有趣,确定但几乎不实际的事情。 您需要数学才能理解基础理论。 但是在日常编程中? 并非如此。
Oh, when I say programming, I mostly mean Web Development since this is my field.
哦,当我说编程时,我主要指的是Web开发,因为这是我的专业领域。
There’s certainly a good amount of programming jobs that require math. For example if you are working on a 3D rendering engine, a GIS application or Cryptography / Blockchain / Artificial Intelligence / Machine Learning, that surely requires a lot of math, but that’s not even math that is taught in schools, it’s very specific math. Any kind of low level graphics or game programming will also require math, and you’ll need to study it before you attempt to do any of that. Math is also necessary to understand algorithms complexity, but you are not going to invent new algorithms, at least in the first few years of programming.
当然,有很多需要数学的编程工作。 例如,如果您正在使用3D渲染引擎,GIS应用程序或密码学/区块链/人工智能/机器学习,那么这肯定需要很多数学,但即使在学校教授的数学也不是,这是非常具体的数学。 任何种类的低级图形或游戏编程也将需要数学,并且您需要先学习数学,然后再尝试进行任何数学运算。 数学也是理解算法复杂性所必需的,但是至少在编程的前几年,您不会发明新的算法。
What you need to be good at, however, isproblem solving. I think that math in school teaches you a good degree of how to solve problems, but so does Sudoku or other hobbies.
但是,您需要擅长的是解决问题。 我认为学校的数学教给您很好的解决问题的能力,而数独或其他爱好也是如此。
Of course you need some basic math concepts, like calculus or algebra, or logic, but the very basics if it. You don’t need to know any of complex numbers, probability, equations, graphs, exponential and logarithm, limits, derivatives, integration, differential equations and so on. Not a single thing.
当然,您需要一些基本的数学概念,例如微积分,代数或逻辑,但如果需要,则需要一些基础知识。 您不需要知道任何复数,概率,方程,图形,指数和对数,极限,导数,积分,微分方程等。 没有一件事情。
Don’t listen to gatekeepers: if they tell you won’t be a programmer because you are not good at math, don’t listen to them. You can always learn everything you need along the way. Being open to learning is much more important than already knowing things.
不要听看门人:如果他们告诉你因为不擅长数学而不会成为程序员,那就不要听他们的话。 在此过程中,您始终可以学习所需的一切。 开放学习比已经了解事物重要得多。
Again, I’m talking about Web Development, not working with graphics or specific applications that require math.
再说一遍,我说的是Web开发,而不是用于需要数学的图形或特定应用程序。
翻译自: /programming-math/
编程需要高等数学吗