高数对后端程序员的意义有多大?

2017-10-30 08:51:11 +08:00
 cnbattle

本人初中之后上了五年的专科学校,没有学习过高中数学,顾对高数公式的符合都看不懂,有不有必要去学习一下,对程序员的帮助意义有多大?

没有高数的经验会不会限制某些情况下的编程思维?

是去学习补下高数,还是学习更深一些的技术?

目前是两年 php 后端,初中时数学成绩优秀,150 分的卷平均考 130.140 左右.

13056 次点击
所在节点    程序员
87 条回复
xhay
2017-10-30 11:40:48 +08:00
学好数理化,走遍天下都不怕
moka20477
2017-10-30 11:41:35 +08:00
@noNOno ┑🙂┍ 摊手
chiu
2017-10-30 11:42:06 +08:00
高数,高中数学,一脸懵逼
zzy8200
2017-10-30 11:42:32 +08:00
计科所有 graduate level 以下的方向都不需要数学,所有 graduate level 以上的方向都需要大量数学,否则就只能调调包。

以前本科觉得数学没啥用 没好好学,现在被各种虐
innersenses
2017-10-30 11:44:18 +08:00
去 B 站看视频讲座不就行了,慢慢看,从基础的看起。国内的,国外的,都互相借鉴对比着看。
libook
2017-10-30 11:45:15 +08:00
数学对编程本身来说不是刚需。
都是程序员,看你在做啥行业,如果你在做门户网站的话几乎不会用到数学知识,但如果你在做人工智能或大数据分析的话可能就会日常用到高等数学。
但有可能遇到的一些场景需要使用数学知识来解决,这个不光是编程,其他很多行业都是一样,看你实际遇到了什么问题、要做啥。
个人觉得对编程最有用的是:
数理逻辑:让代码清晰、程序可靠。
英语:看国外最新潮的文档(但并不是说考四六级就一定能看懂技术文档,日常英语和技术职业英语还不大一样)。
其次对工作最有用的是:
形式逻辑:高效沟通。
语文:准确地应用准确的词汇和句式将意思表达得准确(注意三个 de 的用法)。

另外并不是说不是刚需就完全不需要学了,只是不是最高优先级而已,实际上数学是一种基础工具,在各行各业都有指导意义,遇到一个问题的时候可能在具备数学知识的情况下会有更优的方案可以选择。

总之技术人员的核心竞争力之一就是解决问题的能力,而知识储备决定了你能有多少解决方案可以选择,起点低不要紧,要紧的是用多久时间你可以达到行业平均水平。
joyhub2140
2017-10-30 11:59:54 +08:00
高中数学,对我最大的帮助就是大部分求和公式,在很多场景下取代 for 循环,还有估算算法的复杂度,log()是个好东西
imn1
2017-10-30 12:14:12 +08:00
对一般程序员来说,数列 /集合 /排列组合,可能使用的场合更多,尤其是自然数数列
其实应该是非负整数数列,只是很多数学知识来自 自然数数列
例如,总和为奇数,分配给两组,他们的差必然为奇数,这样就排除偶数,可使循环次数减少一半
诸如此类,理论知识和小知识、小技巧都是有帮助的

利用集合的交并差,可以减少大量“无用数据”,包括 SQL 这些实际上也是集合的知识,这些也是程序员必备的



很多时候老板只是扔一个问题,或者客户只是提一个需求,方案还是自己想的,中间就可能用到更多数学知识
如果很幸运一直有人帮你解决方案,10 年、20 年?你很难得到升职或更高薪酬职位,然后就老了

如果有更强的数学知识,那你就可以“脱离”程序员这个岗位,进入到提供方案的层次
不是说从此不需要写程序,而是说,写程序变成用来检验你方案可行性,然后再提交给实施者(程序员)
这样,你的 IT 生涯可以延续更长的时间,可能 30 年、40 年
qwertyegg
2017-10-30 12:48:19 +08:00
当然很重要,包括基本的高等数学也很重要。不然连牛顿第二定律都难理解。只做商业逻辑的话倒是没啥用
saulshao
2017-10-30 14:00:10 +08:00
其实数学本身对于商业软件开发没什么大用,除非你是从事算法类的开发。
但是了解基础(无论是高等还是初等)的数学知识和数学语言对于沟通有很大的帮助,主要是减少沟通中的误解。
但是学习数学来降低沟通成本,确实效费比不怎么样。
glues
2017-10-30 14:05:59 +08:00
高中数学有集合、函数,排列组合、概率统计、数学归纳法,反证法等。这些基础知识无论在哪个理工科专业领域都是必须要懂得吧?更何况计算机?
stabc
2017-10-30 14:15:38 +08:00
高数我就只记得一个“夹逼定理”,不影响我写程序啊
xianyunyehe
2017-10-30 15:00:29 +08:00
高中数学。跟高等数学不是一个概念、学习了数学对程序肯定是有好处的。有利于你进行抽象和建模。
stirlingx
2017-10-30 15:18:16 +08:00
初中数学一直满分的,你这分数太低了,不适合,还是转行吗
OnceMore2020
2017-10-30 17:20:37 +08:00
离散数学更重要点,对于计算机科学的话
flyico
2017-10-30 17:45:40 +08:00
跟业务有关,有的简单的业务初中数学足矣。
xupefei
2017-10-30 17:57:16 +08:00
说出来很不好听,但是大多数程序员并不需要很多数学知识,因为他们和拧螺丝一样,都是底层工作。
程序员往上是工程师,工程师需要懂一些数学知识(主要是概率学和离散数学)来进行算法设计。

最顶级的计算机工作者是科学家,他们需要用严格的数学证明来支持自己的理论,而这些证明在工程师看来可能不需要,就像样本方差里 /n 和 /(n-1) 的区别一样。
xupefei
2017-10-30 17:59:29 +08:00
@xupefei #77 纠正一下: “因为他们和拧螺丝一样,都是底层工作。” 应该改为 “因为他们和拧螺丝一样,用的都是现成的思路和别人设计好的算法。”
xiaoyang7545
2017-10-30 18:16:49 +08:00
做底层算法的话。十分重要。单纯做应用其实接触到的机会不大。
wingoo
2017-10-30 18:23:01 +08:00
基本的数学逻辑素养还是要的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/401789

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX