数学与优秀计算机程序员的相关性 [英] Correlation between Math and Good Computer Programmer

查看:85
本文介绍了数学与优秀计算机程序员的相关性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道我是否提出了正确的问题,但我想尝试一下。



好​​/专业电脑之间是否存在关联?程序员和数学课程(线性代数,单变量微积分,数值方法等)。换句话说,高技能程序员在大学里上过数学课程?



谢谢!

I don't know if I'm asking a right question but I would like to give a try.

Is there a correlation between good/professional computer programmers and courses in math (Linear Algebra, Single Variable Calculus, numerical Methods etc). In other words, high skills programmer have taken courses in math at university?

Thank you!

推荐答案

对于这个论坛来说,这是一个相当广泛的问题,但可能的答案之一可能是,如果你难以应对数学概念,那么你很可能也很难找到算法。
That's quite a broad question for this forum, but one of the possible answers could be, if you have difficulties to cope with mathematical concepts, chances are that you will also have a hard time figuring out algorithmic ones.


总是令我震惊的是,有多少程序员甚至无法使用搜索引擎或阅读文档,更不用说微积分或代数了!



数学仅对有限数量的编程领域很重要。例如,如果你想要一个索引引擎,或高级数据分析,神经网络等。有一些计算问题,代码是次要问题,它是理解问题的理论和数学。因此,如果你想在谷歌工作,你可能需要擅长数学,但99%的编码任务你并不需要高级数学技能。
It always shocks me how many "programmers" can't even use a search engine, or read documentation, never mind do calculus or algebra!

Maths is only important for a limited number of programming fields. Eg if you wanted to right an index engine, or advanced data analysis, neural networks etc. There are some computing problems where the code is a secondary concern, it's understanding the theory and maths that is the problem. So if you want a job at google you'll probably need to be good at maths, but for 99% of coding tasks you don't really need advanced maths skills.


在我的学生时代编程和数学总是紧密相关的。

我从未觉得这有任何基本关系。



有些人可能会争辩说设计实现算法需要数学技能。我会说,表达你的想法至少和描述一个算法一样重要,所以自然的结论是:采取(自然)语言课程!



才华横溢的程序员在几个方面都很好:

- 说客户的语言(可以在客户的级别上谈话)

- 了解手头的问题(客户希望解决一些问题)

- 可以提炼出要回答的核心问题

- 拥有适合他工艺的技能和普通工具的工具箱

- 不要迷失在细节中

- 可以交流思想并将其记录得很清楚

- 专注于问题解决方案而不要分心细节

- 将他们的工作视为手艺而不是艺术(允许批评和讨论替代解决方案)

- 对测试具有亲和力(未经测试的代码被破坏代码)

- 等等



编程是pr为给定的问题提供有效的经济解决方案。

涉及许多与数学无关的技能,而是能够满足期望,例如以足够好的质量和时间提供所需要的东西。客户愿意支付的费用。



干杯

Andi
In my schooldays, programming and math was always put in close relation.
I never felt that this has any fundamental relation.

Some people may argue that designing an implementing an algorithm needs mathematical skills. I'd say, expressing your thoughts is at least as important to describe an algorithm, so the natural conclusion would be: take (natural) language courses!

Talented programmers are good in several areas:
- speak the language of the customer (can talk on the customer's level)
- understand the problems at hand (the customer wants to have solved some problem)
- can distill the core questions to be answered
- have a certain "tool box" of skills and plain tools that suits his craft
- don't get lost in the details
- can communicate thoughts and document them nicely and crisp
- focus on the problem solution and do not get distracted by niceties
- view their job as a craft and not as art (allows for criticism and discussions on alternative solutions)
- have an affinity to testing ("untested code is broken code")
- etc.

Programming is providing effective economical solutions to given problems.
There are many skills involved that have nothing to do with math, but rather with the capability to fulfill expectations like providing what is needed in a good enough quality and time to the costs a customer is willing to pay.

Cheers
Andi


这篇关于数学与优秀计算机程序员的相关性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆