我想知道~在实际工作中数学的作用能大到什么程度?..

时间:2022-06-01 21:42:40
大学读了快两年才开始重视这个问题~实在是有些惭愧..
高中我的数学就是弱项..
到了大学学软件~学校也只开了离散数学这个课程~在大一的下学期..
教得内容比较浅~所以成绩倒是不赖~但是要问我现在还记得什么..我也只有些笼统的回忆了~
数据结构与算法这门课~我学到的程度就是自己可以实现各种线性结构的定义,插入,删除那些操作..
但是每次来CSDN~看到各位讨论算法问题~我就两眼一抹黑..因为看到那些什么大数计算,字符统计之类的题我就发毛-_-#..说实话我在心里我对这些题一点解决的思路都没有~
要让我做这类型的题~可能我就只会用遍历~根本谈不上任何效率~
再看看ACM的题~我就更加觉得自卑..
而后随处看到说数学很重要,是基础之类的话..我觉得很后怕~因为这些我很不会..关键是自己心里没有用数学解决分析问题的思想~

我这段时间一直在想~现在我比较擅长的就是IDE的使用比别的同学好(上机课他们编程出了错我都可以帮他们调好~)我的SQL,C++,VC++学得都比他们好~我对计算机的感觉比他们强(玩了这么多年计算机这点我比较有自信)..但是这点优势根本谈不上什么优势~因为别人写程序写多了自然会熟悉那些基础的语法+编程工具的使用..
劣势就是没有用数学解决具体问题的逻辑思维~面对稍微复杂点的问题~我脑海里没有具体的架构意识..
我现在正在做的就是~1.重学高中数学,2.旁听其他系的<高等数学>..

我想请问一下各位高手..到底在具体应用中~纯数学型的计算占的比例大不大?
该怎样提高自己的数学思维?~(自己在这胡思乱想也不是一个有效的途径~所以我想听听各位的意见..)
最好别建议我改行-_-#~因为我不想当个失败的逃兵..也对不起我的爸爸妈妈..
小弟真心拜谢各位了~

109 个解决方案

#1


做算法绝对很有效

#2


谢谢楼上~有的时候我也会好奇地去看看acm的题~
但是说实话~除了自卑~真的是一点其他的想法都没有~更谈不上什么解题的思路~
能不能讲一下~面对一个比较复杂的问题~应该怎么去想~怎么去选择数据结构~怎么去设计算法~然后怎么实现?~
最好能给个具体的例子~
我知道我很烦人..
但是说实话我根本没人可以请教跟交流..
同学的心思都不怎么放在学习上的~
除了csdn..

#3


很多理论,只有在用到时,才知道它的可贵之处
数学思维很难提高,只有多想,多做练习

#4


一讲到“很难提高”
我又想起来~高中时候有一个牛人~
可能也是一直做竞赛的缘故~
数学老师有问题不会都去问他问题~
后来老师就对别人感叹说这种能力其实很大程度是天赋
我肯定就没有这种天赋的了~
再次崩溃一下~

#5


引用 4 楼 xmanner 的回复:
一讲到“很难提高” 
我又想起来~高中时候有一个牛人~ 
可能也是一直做竞赛的缘故~ 
数学老师有问题不会都去问他问题~ 
后来老师就对别人感叹说这种能力其实很大程度是天赋 
我肯定就没有这种天赋的了~ 
再次崩溃一下~

老师的思维比他牛的话,当初完全可以读一个比师范更好的学校和专业。
老师也是普通人,不过术业有专攻而已。

#6


学数学是锻炼你的思维方式,重点不在于你会背多少定理,会算多少题.我觉得数学至少可以让你有个做事严谨的态度,思维也可以更理性一些.

#7


对普通程序员来说,日常工作是不会用到什么高深的数学的

但,数学绝对是有用的,这个世界上有什么是不用到数学的呢?

#8


其实我想说的是,数学它就是没什么用!

#9


高等数学可能没啥用,但是离散数学很有用。

#10


看情况啦~不是有很多人也不懂的吗

#11


引用 8 楼 Kevin_zqw 的回复:
其实我想说的是,数学它就是没什么用! 

#12


引用 8 楼 Kevin_zqw 的回复:
其实我想说的是,数学它就是没什么用!

我的工作就是一点都用不到,会for循环就好了
很不满意

#13


居然还有软件专业不用学数学的?
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些
计算不重要,分析才重要

#14


算法,数学很重要

#15


数学在软件开发中有两个层次的作用:
1.第一层次的影响:数学能力一般情况下都能体现一个人的逻辑思维能力,而软件开发绝对是需要逻辑思维能力的,另一方面,常年的数学学习会在一定程度上提高一个人的逻辑思维能力,所以这是互相影响的一个过程
2.第二层次的影响:当你涉及到音视频压缩,图形引擎设计,游戏引擎设计,人工智能,搜索引擎这些领域,那么数学的作用就体现出来了,那个时候你只会认为你所学的数学知识太少,而不是感觉它无用

#16


引用 14 楼 kelph 的回复:
算法,数学很重要

#17


反正要保证能过,不会错!

#18


引用 13 楼 carrotmin 的回复:
居然还有软件专业不用学数学的? 
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些 
计算不重要,分析才重要 



数学分析的内容跟告诉几乎一模一样。

#19


一般四则运算够,不把money算错就可以了

#20


引用 4 楼 xmanner 的回复:
一讲到“很难提高” 
我又想起来~高中时候有一个牛人~ 
可能也是一直做竞赛的缘故~ 
数学老师有问题不会都去问他问题~ 
后来老师就对别人感叹说这种能力其实很大程度是天赋 
我肯定就没有这种天赋的了~ 
再次崩溃一下~

#21


重要,买东西都得算。

#22


非也,你招聘时估计也用不到多少的,碰上糟糕的单位,没用的

#23


引用 15 楼 tb01412 的回复:
数学在软件开发中有两个层次的作用: 
1.第一层次的影响:数学能力一般情况下都能体现一个人的逻辑思维能力,而软件开发绝对是需要逻辑思维能力的,另一方面,常年的数学学习会在一定程度上提高一个人的逻辑思维能力,所以这是互相影响的一个过程 
2.第二层次的影响:当你涉及到音视频压缩,图形引擎设计,游戏引擎设计,人工智能,搜索引擎这些领域,那么数学的作用就体现出来了,那个时候你只会认为你所学的数学知识太少,而…

谢谢指导~
说起来..逻辑思维能力我也不是完全没有-_-#..
只是我觉得不够系统~不够细致..就好像如果有一个问题摆出来的话..
如果我和别人的想法不一样~我会首先怀疑自己想的是不是有错..

还有能不能稍微仔细一点地讲讲你提到的那些领域里都会用到哪些具体的数学知识呢?

#24


一节课上完~
看到这么多留言很高兴~
毕竟在学校里很少听到这么多人的指教(一直都是自己在学-_-#)..
不过现在已经不是谈论数学有没有用的话题了..
而是我已经觉得它很有用~但是不知道该如何更有效果地去学习..
怕就怕花了时间做题~但是收到的效果不大..
不知各位有没就从宏观面介绍数学知识体系的书~
我想先在脑海里有个整体的了解..

#25


引用 18 楼 aoyihuashao 的回复:
引用 13 楼 carrotmin 的回复:
居然还有软件专业不用学数学的?  
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些  
计算不重要,分析才重要  
 


数学分析的内容跟告诉几乎一模一样。

呵呵,看来这位兄台是没看过真正的数分的书啊~~~~
PS:这位兄台不会和我同一个专业吧,我数学专业的

#26


学好辩证法,比啥都强

#27


算+怎么算

#28


引用 13 楼 carrotmin 的回复:
居然还有软件专业不用学数学的? 
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些 
计算不重要,分析才重要 


对于程序员来说,数学基本没用。
数学基础好对软件开发是一个障碍,在公司里基本可以看到,数学好的做软件都烂,软件高手数学都烂

#29


数学是一种过程式的思维方式,对树立面向对象的软件开发思想本质上是对立的。

数学好的人可以去做做小程序和算法函数,真正的软件开发尤其是OO软件开发不需要数学

#30


思想

#31


看你做什么样的事情了
图形图形、游戏开发、多媒体肯定是要求数学的!

#32


wa

#33


基本上来讲,说数学对软件有用的都是学生或者是新手,还不懂得怎样“设计”软件,只停留在编程序、实现算法的阶段。

体会客户的需求、建立对象模型这些基本上都跟数学没有关系

#34


还有能不能稍微仔细一点地讲讲你提到的那些领域里都会用到哪些具体的数学知识呢?
===========================================
我提到的那些领域里面最最基础的莫过于微积分了,这只是基础的基础而已,比如图像、音视频领域都是基本信号原理的,而信号处理最常用到的就是微积分推导过程,如果你连微积分都没学好,学信号处理就等于看天书,信号处理看不懂,还做啥子音视频呢????其它领域还需要看重概率与统计方面,比如像人工智能,最后所有这些理论的实现需要得到计算机能识别的符号的支持,都需要线性代数与离散数学的知识
所以,如果你想深入到计算机更深层的领域来说,学好高等数学,线性代数,离散数学,概率这些知识是绝对有必要的。

#35


引用 34 楼 tb01412 的回复:
还有能不能稍微仔细一点地讲讲你提到的那些领域里都会用到哪些具体的数学知识呢? 
=========================================== 
我提到的那些领域里面最最基础的莫过于微积分了,这只是基础的基础而已,比如图像、音视频领域都是基本信号原理的,而信号处理最常用到的就是微积分推导过程,如果你连微积分都没学好,学信号处理就等于看天书,信号处理看不懂,还做啥子音视频呢??…


数学不能体现一个人的综合思维能力,我们公司的资深架构师都是数学盲,其数学知识停留在算术阶段,但并不影响他们深刻地体会需求,建立对象模型,运用良好的设计模式、建立系统的架构。

至于图像加密压缩之类的算法,基本上可以封装成孤立的函数重复使用,不需要每个人都去学,其需求也十分直观,不需要很强的抽象能力。至于微积分、信号处理等等基本上就是套公式,我在大学里还自己编过有限元强度应力分析程序,跟现在的软件相比,只能算是程序还谈不上作软件。

#36


引用 13 楼 carrotmin 的回复:
居然还有软件专业不用学数学的? 
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些 
计算不重要,分析才重要 


数学分析相比高数,只是多了些实数理论的内容,大的范围跟高数差不多。它跟编程更加遥远,如果非要找对编程有用的数学知识,可能就是数值分析了

#37


引用 7 楼 Kevin_zqw 的回复:
对普通程序员来说,日常工作是不会用到什么高深的数学的 

但,数学绝对是有用的,这个世界上有什么是不用到数学的呢? 


一些专门做算法的程序员,应该算是比较高级的程序员了,就比较需要数学了
我们部门两个做图像处理,算法之类的,都是数学系的

#38


引用 3 楼 ouyh12345 的回复:
很多理论,只有在用到时,才知道它的可贵之处 
数学思维很难提高,只有多想,多做练习

#39


引用 28 楼 cxz7531 的回复:
对于程序员来说,数学基本没用。 
数学基础好对软件开发是一个障碍,在公司里基本可以看到,数学好的做软件都烂,软件高手数学都烂

果然是。。。以前在大学里,发现同学明显分成两个阵营:
一类是数学、物理钻得很深,经常写一段程序在Tuobo C下面算题目;
另外一类是高数概率论都能考挂了,但是玩了delphi玩单片机,项目做了一个接一个。

#40


int i=0; i++;

这算不算数学里面的东东?

#41


引用 37 楼 jimoguilai 的回复:
引用 7 楼 Kevin_zqw 的回复:
对普通程序员来说,日常工作是不会用到什么高深的数学的  

但,数学绝对是有用的,这个世界上有什么是不用到数学的呢?  
 

一些专门做算法的程序员,应该算是比较高级的程序员了,就比较需要数学了 
我们部门两个做图像处理,算法之类的,都是数学系的


算法程序员跟一般我们讲的高级程序员有很大差别。

我们公司有一半都是搞图像识别、文字语音识别的,他们基本上不会设计模式、可复用性等软件设计理念,对OO几乎都不懂。

我在上一个公司,搞矢量图型平台,招了一个研究生,只会数学、不会编程,结果从算法到设计还要我一个人搞

#42


一般吧,现在没什么用到高深的

#43


数学不能体现一个人的综合思维能力,我们公司的资深架构师都是数学盲,其数学知识停留在算术阶段,但并不影响他们深刻地体会需求,建立对象模型,运用良好的设计模式、建立系统的架构。

至于图像加密压缩之类的算法,基本上可以封装成孤立的函数重复使用,不需要每个人都去学,其需求也十分直观,不需要很强的抽象能力。至于微积分、信号处理等等基本上就是套公式,我在大学里还自己编过有限元强度应力分析程序,跟现在的软件相比,只能算是程序还谈不上作软件。
==================================================

一个人的数学水平的高低一般都能体现这个人的逻辑能力的水平高低,当然,像爱因斯坦这种天才除外(他在读书的时候被老师评为最笨的人之一,成绩很差),你们公司的架构师可能是数学盲,那是因为他没受多少数学方面的训练,或者说学历低(因为各种各样的客观条件影响),也有可能他是不太喜欢数学从而没用多少功夫学习,假定有一种情况非得要他学数学并且考试(比如考不好就降工资而且不允许他跳槽),那么我敢肯定他学下来的水平比一般人要高,这或许说是一种天赋吧,在一个人付出与别人同等努力的情况下学习数学,学得越好的人其逻辑思维能力越强,这一点我相信大家都是认可的吧????无论你是架构师或者是CODER,好的逻辑思维能力是必须的,如果做一个CODER都不合格,就想当优秀的架构师,那就如同“做一个合格的将军前,请先做好一个合格的士兵”的道理一样,不要看他现在是架构师,他还在CODER的时候,是你没有看到而已。。。。。。而另一方面,固然一个人的天赋是需要的,但一个人的后天努力更重要,天赋是不能改变的,而后天的努力是掌握在自己手上的,逻辑思维能力的培养也需要通过学习数学这样一种方式,有一种说法是“脑袋越用越灵”,这就说明了需要一个人后天去开发他的天赋能力,那么数学就是开发一个人逻辑思维能力的一种重要的方式



至于图像加密压缩之类的算法,基本上可以封装成孤立的函数重复使用,不需要每个人都去学,我现在所说的就是假定LZ以后想往这方面去发展的话,就需要好好学习数学,当然,不是每个人都想往这方面发展,无论如何,在学习阶段,学好数学是很有必要的,无论以后你往基于算法类的方向发展,或是往基于架构师方向的发展,数学对于你来说都是有益无害的。谁说架构师就不需要面向过程的思考方法??软件架构能力与逻辑思维能力就如同一个人的EQ与IQ之间的关系一样,EQ高的人IQ一定不会比一般人低,当然,IQ高的人EQ比较低的倒是屡屡皆是,同理,软件架构能力强的人逻辑思维能力一定不低,逻辑思维能力强的人架构能力有可能很低,所以你看一看你所遇到的优秀的软件架构师以前写的程序,不可能是很差的程序。。。。。。从软件开发角度上来讲,有产品、软件、程序这三个阶段,但首先要学会写好的程序,只有当你能写出好的程序你才有资格去做一个软件,也只有当你能做出一个好的软件才有资格去做一个好的产品,万丈高楼从地起。。。。。。

曾经的一段时间,很多人都把“面向对象”的设计思想提到了前所未有的高度,最近又开始重新审视这种思想,我们最终要做的是一款产品,一种软件,不能为OO而OO,我们需要反思,需要思考为什么采用这种思想,只有想清楚了为什么采用这种思想,然后才会更好地运用这种思想,当我们根本不需要用的时候就不要去用,这才是一种好的设计方式,一种好的学习方向

最后,我想说的一句话就是“连程序员都做不好的人,还想成为一个优秀的软件架构师,还是洗洗睡吧”


#44


jf

#45


数学不能体现一个人的综合思维能力,我们公司的资深架构师都是数学盲,其数学知识停留在算术阶段,但并不影响他们深刻地体会需求,建立对象模型,运用良好的设计模式、建立系统的架构。 

至于图像加密压缩之类的算法,基本上可以封装成孤立的函数重复使用,不需要每个人都去学,其需求也十分直观,不需要很强的抽象能力。至于微积分、信号处理等等基本上就是套公式,我在大学里还自己编过有限元强度应力分析程序,跟现在的软件相比,只能算是程序还谈不上作软件。 
================================================== 

一个人的数学水平的高低一般都能体现这个人的逻辑能力的水平高低,当然,像爱因斯坦这种天才除外(他在读书的时候被老师评为最笨的人之一,成绩很差),你们公司的架构师可能是数学盲,那是因为他没受多少数学方面的训练,或者说学历低(因为各种各样的客观条件影响),也有可能他是不太喜欢数学从而没用多少功夫学习,假定有一种情况非得要他学数学并且考试(比如考不好就降工资而且不允许他跳槽),那么我敢肯定他学下来的水平比一般人要高,这或许说是一种天赋吧,在一个人付出与别人同等努力的情况下学习数学,学得越好的人其逻辑思维能力越强,这一点我相信大家都是认可的吧????无论你是架构师或者是CODER,好的逻辑思维能力是必须的,如果做一个CODER都不合格,就想当优秀的架构师,那就如同“做一个合格的将军前,请先做好一个合格的士兵”的道理一样,不要看他现在是架构师,他还在CODER的时候,是你没有看到而已。。。。。。而另一方面,固然一个人的天赋是需要的,但一个人的后天努力更重要,天赋是不能改变的,而后天的努力是掌握在自己手上的,逻辑思维能力的培养也需要通过学习数学这样一种方式,有一种说法是“脑袋越用越灵”,这就说明了需要一个人后天去开发他的天赋能力,那么数学就是开发一个人逻辑思维能力的一种重要的方式 


至于图像加密压缩之类的算法,基本上可以封装成孤立的函数重复使用,不需要每个人都去学,我现在所说的就是假定LZ以后想往这方面去发展的话,就需要好好学习数学,当然,不是每个人都想往这方面发展,无论如何,在学习阶段,学好数学是很有必要的,无论以后你往基于算法类的方向发展,或是往基于架构师方向的发展,数学对于你来说都是有益无害的。谁说架构师就不需要面向过程的思考方法??软件架构能力与逻辑思维能力就如同一个人的EQ与IQ之间的关系一样,EQ高的人IQ一定不会比一般人低,当然,IQ高的人EQ比较低的倒是屡屡皆是,同理,软件架构能力强的人逻辑思维能力一定不低,逻辑思维能力强的人架构能力有可能很低,所以你看一看你所遇到的优秀的软件架构师以前写的程序,不可能是很差的程序。。。。。。从软件开发角度上来讲,有产品、软件、程序这三个阶段,但首先要学会写好的程序,只有当你能写出好的程序你才有资格去做一个软件,也只有当你能做出一个好的软件才有资格去做一个好的产品,万丈高楼从地起。。。。。。 

曾经的一段时间,很多人都把“面向对象”的设计思想提到了前所未有的高度,最近又开始重新审视这种思想,我们最终要做的是一款产品,一种软件,不能为OO而OO,我们需要反思,需要思考为什么采用这种思想,只有想清楚了为什么采用这种思想,然后才会更好地运用这种思想,当我们根本不需要用的时候就不要去用,这才是一种好的设计方式,一种好的学习方向 

最后,我想说的一句话就是“连程序员都做不好的人,还想成为一个优秀的软件架构师,还是洗洗睡吧” 
======================================
那你看看全国知名的架构师彭晨阳,就是http://www.jdon.com/J道的版主,人家就是不懂数学,但照旧成为全国资深架构师。

“最具实力的OO软件思想布道者,上海解道计算机技术有限公司首席架构师、高级咨询顾问。”

一句话,数学跟编程完全两码事,把这两者混为一谈是一个方向性的错误

#46


引用 28 楼 cxz7531 的回复:
引用 13 楼 carrotmin 的回复:
居然还有软件专业不用学数学的?
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些
计算不重要,分析才重要


对于程序员来说,数学基本没用。
数学基础好对软件开发是一个障碍,在公司里基本可以看到,数学好的做软件都烂,软件高手数学都烂


能透露下你们公司做什么吗?

#47


引用 45 楼 cxz7531 的回复:
数学不能体现一个人的综合思维能力,我们公司的资深架构师都是数学盲,其数学知识停留在算术阶段,但并不影响他们深刻地体会需求,建立对象模型,运用良好的设计模式、建立系统的架构。

至于图像加密压缩之类的算法,基本上可以封装成孤立的函数重复使用,不需要每个人都去学,其需求也十分直观,不需要很强的抽象能力。至于微积分、信号处理等等基本上就是套公式,我在大学里还自己编过有限元强度应力分析程序,跟现在的软件…


这位架构师有什么出色的作品?

#48


引用 46 楼 ouyh12345 的回复:
引用 28 楼 cxz7531 的回复:
引用 13 楼 carrotmin 的回复: 
居然还有软件专业不用学数学的? 
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些 
计算不重要,分析才重要 


对于程序员来说,数学基本没用。 
数学基础好对软件开发是一个障碍,在公司里基本可以看到,数学好的做软件都烂,软件高手数学都烂 
 

能透露下你们公司做什么吗?


电力GIS、电力管网之类

#49


至于LZ现在的情况,那么我也在这里多说几句了,对于一个人来说,选择一个好的发展方向比盲目的努力更重要,因为性格决定命运嘛,做人首先要学会了解自己,然后再学会了解别人,弄清楚自己喜欢什么,自己的优点与缺点是什么,然后扬长避短,找到适合自己的路比什么都重要。。。。。。

结合到LZ现在的数学水平来讲,假定LZ在学习数学时是付出了努力,也并不讨厌数学,你这方面成绩差一点,就说明一个问题:你的逻辑思维能力方面的天赋比别人差一点,不过你不要悲观,程序员虽然与良好的逻辑思维能力关系密切,但并不是要求每个程序员都要达到很高的逻辑思维能力的水平,先天条件差一点,那么就需要后天多付出一点点努力了,只要你努力了,达到一般人的水平只是指日可待,前面我也说过,数学是锻练一个人逻辑思维能力的很好的方式,你现在只需要认认真真学习大学里面的数学课程就可以了,如果感觉到吃力,就回头补习一下高中数学的知识,多付出比别人多一点点的努力,这并不是吃亏,以后你会有更多的收获的。另一方面,既然你逻辑思维能力方面的天赋比别人要差一些,那么就不要偏往那些极度需要这方面能力的方向发展,比如你以后不要往算法方面发展,争取往软件架构、业务处理、人际交往方向发展,发现自己的优势,扬长避短,选一条适合自己的路比什么都重要。

#50


我每天买菜的时候都要用

#1


做算法绝对很有效

#2


谢谢楼上~有的时候我也会好奇地去看看acm的题~
但是说实话~除了自卑~真的是一点其他的想法都没有~更谈不上什么解题的思路~
能不能讲一下~面对一个比较复杂的问题~应该怎么去想~怎么去选择数据结构~怎么去设计算法~然后怎么实现?~
最好能给个具体的例子~
我知道我很烦人..
但是说实话我根本没人可以请教跟交流..
同学的心思都不怎么放在学习上的~
除了csdn..

#3


很多理论,只有在用到时,才知道它的可贵之处
数学思维很难提高,只有多想,多做练习

#4


一讲到“很难提高”
我又想起来~高中时候有一个牛人~
可能也是一直做竞赛的缘故~
数学老师有问题不会都去问他问题~
后来老师就对别人感叹说这种能力其实很大程度是天赋
我肯定就没有这种天赋的了~
再次崩溃一下~

#5


引用 4 楼 xmanner 的回复:
一讲到“很难提高” 
我又想起来~高中时候有一个牛人~ 
可能也是一直做竞赛的缘故~ 
数学老师有问题不会都去问他问题~ 
后来老师就对别人感叹说这种能力其实很大程度是天赋 
我肯定就没有这种天赋的了~ 
再次崩溃一下~

老师的思维比他牛的话,当初完全可以读一个比师范更好的学校和专业。
老师也是普通人,不过术业有专攻而已。

#6


学数学是锻炼你的思维方式,重点不在于你会背多少定理,会算多少题.我觉得数学至少可以让你有个做事严谨的态度,思维也可以更理性一些.

#7


对普通程序员来说,日常工作是不会用到什么高深的数学的

但,数学绝对是有用的,这个世界上有什么是不用到数学的呢?

#8


其实我想说的是,数学它就是没什么用!

#9


高等数学可能没啥用,但是离散数学很有用。

#10


看情况啦~不是有很多人也不懂的吗

#11


引用 8 楼 Kevin_zqw 的回复:
其实我想说的是,数学它就是没什么用! 

#12


引用 8 楼 Kevin_zqw 的回复:
其实我想说的是,数学它就是没什么用!

我的工作就是一点都用不到,会for循环就好了
很不满意

#13


居然还有软件专业不用学数学的?
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些
计算不重要,分析才重要

#14


算法,数学很重要

#15


数学在软件开发中有两个层次的作用:
1.第一层次的影响:数学能力一般情况下都能体现一个人的逻辑思维能力,而软件开发绝对是需要逻辑思维能力的,另一方面,常年的数学学习会在一定程度上提高一个人的逻辑思维能力,所以这是互相影响的一个过程
2.第二层次的影响:当你涉及到音视频压缩,图形引擎设计,游戏引擎设计,人工智能,搜索引擎这些领域,那么数学的作用就体现出来了,那个时候你只会认为你所学的数学知识太少,而不是感觉它无用

#16


引用 14 楼 kelph 的回复:
算法,数学很重要

#17


反正要保证能过,不会错!

#18


引用 13 楼 carrotmin 的回复:
居然还有软件专业不用学数学的? 
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些 
计算不重要,分析才重要 



数学分析的内容跟告诉几乎一模一样。

#19


一般四则运算够,不把money算错就可以了

#20


引用 4 楼 xmanner 的回复:
一讲到“很难提高” 
我又想起来~高中时候有一个牛人~ 
可能也是一直做竞赛的缘故~ 
数学老师有问题不会都去问他问题~ 
后来老师就对别人感叹说这种能力其实很大程度是天赋 
我肯定就没有这种天赋的了~ 
再次崩溃一下~

#21


重要,买东西都得算。

#22


非也,你招聘时估计也用不到多少的,碰上糟糕的单位,没用的

#23


引用 15 楼 tb01412 的回复:
数学在软件开发中有两个层次的作用: 
1.第一层次的影响:数学能力一般情况下都能体现一个人的逻辑思维能力,而软件开发绝对是需要逻辑思维能力的,另一方面,常年的数学学习会在一定程度上提高一个人的逻辑思维能力,所以这是互相影响的一个过程 
2.第二层次的影响:当你涉及到音视频压缩,图形引擎设计,游戏引擎设计,人工智能,搜索引擎这些领域,那么数学的作用就体现出来了,那个时候你只会认为你所学的数学知识太少,而…

谢谢指导~
说起来..逻辑思维能力我也不是完全没有-_-#..
只是我觉得不够系统~不够细致..就好像如果有一个问题摆出来的话..
如果我和别人的想法不一样~我会首先怀疑自己想的是不是有错..

还有能不能稍微仔细一点地讲讲你提到的那些领域里都会用到哪些具体的数学知识呢?

#24


一节课上完~
看到这么多留言很高兴~
毕竟在学校里很少听到这么多人的指教(一直都是自己在学-_-#)..
不过现在已经不是谈论数学有没有用的话题了..
而是我已经觉得它很有用~但是不知道该如何更有效果地去学习..
怕就怕花了时间做题~但是收到的效果不大..
不知各位有没就从宏观面介绍数学知识体系的书~
我想先在脑海里有个整体的了解..

#25


引用 18 楼 aoyihuashao 的回复:
引用 13 楼 carrotmin 的回复:
居然还有软件专业不用学数学的?  
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些  
计算不重要,分析才重要  
 


数学分析的内容跟告诉几乎一模一样。

呵呵,看来这位兄台是没看过真正的数分的书啊~~~~
PS:这位兄台不会和我同一个专业吧,我数学专业的

#26


学好辩证法,比啥都强

#27


算+怎么算

#28


引用 13 楼 carrotmin 的回复:
居然还有软件专业不用学数学的? 
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些 
计算不重要,分析才重要 


对于程序员来说,数学基本没用。
数学基础好对软件开发是一个障碍,在公司里基本可以看到,数学好的做软件都烂,软件高手数学都烂

#29


数学是一种过程式的思维方式,对树立面向对象的软件开发思想本质上是对立的。

数学好的人可以去做做小程序和算法函数,真正的软件开发尤其是OO软件开发不需要数学

#30


思想

#31


看你做什么样的事情了
图形图形、游戏开发、多媒体肯定是要求数学的!

#32


wa

#33


基本上来讲,说数学对软件有用的都是学生或者是新手,还不懂得怎样“设计”软件,只停留在编程序、实现算法的阶段。

体会客户的需求、建立对象模型这些基本上都跟数学没有关系

#34


还有能不能稍微仔细一点地讲讲你提到的那些领域里都会用到哪些具体的数学知识呢?
===========================================
我提到的那些领域里面最最基础的莫过于微积分了,这只是基础的基础而已,比如图像、音视频领域都是基本信号原理的,而信号处理最常用到的就是微积分推导过程,如果你连微积分都没学好,学信号处理就等于看天书,信号处理看不懂,还做啥子音视频呢????其它领域还需要看重概率与统计方面,比如像人工智能,最后所有这些理论的实现需要得到计算机能识别的符号的支持,都需要线性代数与离散数学的知识
所以,如果你想深入到计算机更深层的领域来说,学好高等数学,线性代数,离散数学,概率这些知识是绝对有必要的。

#35


引用 34 楼 tb01412 的回复:
还有能不能稍微仔细一点地讲讲你提到的那些领域里都会用到哪些具体的数学知识呢? 
=========================================== 
我提到的那些领域里面最最基础的莫过于微积分了,这只是基础的基础而已,比如图像、音视频领域都是基本信号原理的,而信号处理最常用到的就是微积分推导过程,如果你连微积分都没学好,学信号处理就等于看天书,信号处理看不懂,还做啥子音视频呢??…


数学不能体现一个人的综合思维能力,我们公司的资深架构师都是数学盲,其数学知识停留在算术阶段,但并不影响他们深刻地体会需求,建立对象模型,运用良好的设计模式、建立系统的架构。

至于图像加密压缩之类的算法,基本上可以封装成孤立的函数重复使用,不需要每个人都去学,其需求也十分直观,不需要很强的抽象能力。至于微积分、信号处理等等基本上就是套公式,我在大学里还自己编过有限元强度应力分析程序,跟现在的软件相比,只能算是程序还谈不上作软件。

#36


引用 13 楼 carrotmin 的回复:
居然还有软件专业不用学数学的? 
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些 
计算不重要,分析才重要 


数学分析相比高数,只是多了些实数理论的内容,大的范围跟高数差不多。它跟编程更加遥远,如果非要找对编程有用的数学知识,可能就是数值分析了

#37


引用 7 楼 Kevin_zqw 的回复:
对普通程序员来说,日常工作是不会用到什么高深的数学的 

但,数学绝对是有用的,这个世界上有什么是不用到数学的呢? 


一些专门做算法的程序员,应该算是比较高级的程序员了,就比较需要数学了
我们部门两个做图像处理,算法之类的,都是数学系的

#38


引用 3 楼 ouyh12345 的回复:
很多理论,只有在用到时,才知道它的可贵之处 
数学思维很难提高,只有多想,多做练习

#39


引用 28 楼 cxz7531 的回复:
对于程序员来说,数学基本没用。 
数学基础好对软件开发是一个障碍,在公司里基本可以看到,数学好的做软件都烂,软件高手数学都烂

果然是。。。以前在大学里,发现同学明显分成两个阵营:
一类是数学、物理钻得很深,经常写一段程序在Tuobo C下面算题目;
另外一类是高数概率论都能考挂了,但是玩了delphi玩单片机,项目做了一个接一个。

#40


int i=0; i++;

这算不算数学里面的东东?

#41


引用 37 楼 jimoguilai 的回复:
引用 7 楼 Kevin_zqw 的回复:
对普通程序员来说,日常工作是不会用到什么高深的数学的  

但,数学绝对是有用的,这个世界上有什么是不用到数学的呢?  
 

一些专门做算法的程序员,应该算是比较高级的程序员了,就比较需要数学了 
我们部门两个做图像处理,算法之类的,都是数学系的


算法程序员跟一般我们讲的高级程序员有很大差别。

我们公司有一半都是搞图像识别、文字语音识别的,他们基本上不会设计模式、可复用性等软件设计理念,对OO几乎都不懂。

我在上一个公司,搞矢量图型平台,招了一个研究生,只会数学、不会编程,结果从算法到设计还要我一个人搞

#42


一般吧,现在没什么用到高深的

#43


数学不能体现一个人的综合思维能力,我们公司的资深架构师都是数学盲,其数学知识停留在算术阶段,但并不影响他们深刻地体会需求,建立对象模型,运用良好的设计模式、建立系统的架构。

至于图像加密压缩之类的算法,基本上可以封装成孤立的函数重复使用,不需要每个人都去学,其需求也十分直观,不需要很强的抽象能力。至于微积分、信号处理等等基本上就是套公式,我在大学里还自己编过有限元强度应力分析程序,跟现在的软件相比,只能算是程序还谈不上作软件。
==================================================

一个人的数学水平的高低一般都能体现这个人的逻辑能力的水平高低,当然,像爱因斯坦这种天才除外(他在读书的时候被老师评为最笨的人之一,成绩很差),你们公司的架构师可能是数学盲,那是因为他没受多少数学方面的训练,或者说学历低(因为各种各样的客观条件影响),也有可能他是不太喜欢数学从而没用多少功夫学习,假定有一种情况非得要他学数学并且考试(比如考不好就降工资而且不允许他跳槽),那么我敢肯定他学下来的水平比一般人要高,这或许说是一种天赋吧,在一个人付出与别人同等努力的情况下学习数学,学得越好的人其逻辑思维能力越强,这一点我相信大家都是认可的吧????无论你是架构师或者是CODER,好的逻辑思维能力是必须的,如果做一个CODER都不合格,就想当优秀的架构师,那就如同“做一个合格的将军前,请先做好一个合格的士兵”的道理一样,不要看他现在是架构师,他还在CODER的时候,是你没有看到而已。。。。。。而另一方面,固然一个人的天赋是需要的,但一个人的后天努力更重要,天赋是不能改变的,而后天的努力是掌握在自己手上的,逻辑思维能力的培养也需要通过学习数学这样一种方式,有一种说法是“脑袋越用越灵”,这就说明了需要一个人后天去开发他的天赋能力,那么数学就是开发一个人逻辑思维能力的一种重要的方式



至于图像加密压缩之类的算法,基本上可以封装成孤立的函数重复使用,不需要每个人都去学,我现在所说的就是假定LZ以后想往这方面去发展的话,就需要好好学习数学,当然,不是每个人都想往这方面发展,无论如何,在学习阶段,学好数学是很有必要的,无论以后你往基于算法类的方向发展,或是往基于架构师方向的发展,数学对于你来说都是有益无害的。谁说架构师就不需要面向过程的思考方法??软件架构能力与逻辑思维能力就如同一个人的EQ与IQ之间的关系一样,EQ高的人IQ一定不会比一般人低,当然,IQ高的人EQ比较低的倒是屡屡皆是,同理,软件架构能力强的人逻辑思维能力一定不低,逻辑思维能力强的人架构能力有可能很低,所以你看一看你所遇到的优秀的软件架构师以前写的程序,不可能是很差的程序。。。。。。从软件开发角度上来讲,有产品、软件、程序这三个阶段,但首先要学会写好的程序,只有当你能写出好的程序你才有资格去做一个软件,也只有当你能做出一个好的软件才有资格去做一个好的产品,万丈高楼从地起。。。。。。

曾经的一段时间,很多人都把“面向对象”的设计思想提到了前所未有的高度,最近又开始重新审视这种思想,我们最终要做的是一款产品,一种软件,不能为OO而OO,我们需要反思,需要思考为什么采用这种思想,只有想清楚了为什么采用这种思想,然后才会更好地运用这种思想,当我们根本不需要用的时候就不要去用,这才是一种好的设计方式,一种好的学习方向

最后,我想说的一句话就是“连程序员都做不好的人,还想成为一个优秀的软件架构师,还是洗洗睡吧”


#44


jf

#45


数学不能体现一个人的综合思维能力,我们公司的资深架构师都是数学盲,其数学知识停留在算术阶段,但并不影响他们深刻地体会需求,建立对象模型,运用良好的设计模式、建立系统的架构。 

至于图像加密压缩之类的算法,基本上可以封装成孤立的函数重复使用,不需要每个人都去学,其需求也十分直观,不需要很强的抽象能力。至于微积分、信号处理等等基本上就是套公式,我在大学里还自己编过有限元强度应力分析程序,跟现在的软件相比,只能算是程序还谈不上作软件。 
================================================== 

一个人的数学水平的高低一般都能体现这个人的逻辑能力的水平高低,当然,像爱因斯坦这种天才除外(他在读书的时候被老师评为最笨的人之一,成绩很差),你们公司的架构师可能是数学盲,那是因为他没受多少数学方面的训练,或者说学历低(因为各种各样的客观条件影响),也有可能他是不太喜欢数学从而没用多少功夫学习,假定有一种情况非得要他学数学并且考试(比如考不好就降工资而且不允许他跳槽),那么我敢肯定他学下来的水平比一般人要高,这或许说是一种天赋吧,在一个人付出与别人同等努力的情况下学习数学,学得越好的人其逻辑思维能力越强,这一点我相信大家都是认可的吧????无论你是架构师或者是CODER,好的逻辑思维能力是必须的,如果做一个CODER都不合格,就想当优秀的架构师,那就如同“做一个合格的将军前,请先做好一个合格的士兵”的道理一样,不要看他现在是架构师,他还在CODER的时候,是你没有看到而已。。。。。。而另一方面,固然一个人的天赋是需要的,但一个人的后天努力更重要,天赋是不能改变的,而后天的努力是掌握在自己手上的,逻辑思维能力的培养也需要通过学习数学这样一种方式,有一种说法是“脑袋越用越灵”,这就说明了需要一个人后天去开发他的天赋能力,那么数学就是开发一个人逻辑思维能力的一种重要的方式 


至于图像加密压缩之类的算法,基本上可以封装成孤立的函数重复使用,不需要每个人都去学,我现在所说的就是假定LZ以后想往这方面去发展的话,就需要好好学习数学,当然,不是每个人都想往这方面发展,无论如何,在学习阶段,学好数学是很有必要的,无论以后你往基于算法类的方向发展,或是往基于架构师方向的发展,数学对于你来说都是有益无害的。谁说架构师就不需要面向过程的思考方法??软件架构能力与逻辑思维能力就如同一个人的EQ与IQ之间的关系一样,EQ高的人IQ一定不会比一般人低,当然,IQ高的人EQ比较低的倒是屡屡皆是,同理,软件架构能力强的人逻辑思维能力一定不低,逻辑思维能力强的人架构能力有可能很低,所以你看一看你所遇到的优秀的软件架构师以前写的程序,不可能是很差的程序。。。。。。从软件开发角度上来讲,有产品、软件、程序这三个阶段,但首先要学会写好的程序,只有当你能写出好的程序你才有资格去做一个软件,也只有当你能做出一个好的软件才有资格去做一个好的产品,万丈高楼从地起。。。。。。 

曾经的一段时间,很多人都把“面向对象”的设计思想提到了前所未有的高度,最近又开始重新审视这种思想,我们最终要做的是一款产品,一种软件,不能为OO而OO,我们需要反思,需要思考为什么采用这种思想,只有想清楚了为什么采用这种思想,然后才会更好地运用这种思想,当我们根本不需要用的时候就不要去用,这才是一种好的设计方式,一种好的学习方向 

最后,我想说的一句话就是“连程序员都做不好的人,还想成为一个优秀的软件架构师,还是洗洗睡吧” 
======================================
那你看看全国知名的架构师彭晨阳,就是http://www.jdon.com/J道的版主,人家就是不懂数学,但照旧成为全国资深架构师。

“最具实力的OO软件思想布道者,上海解道计算机技术有限公司首席架构师、高级咨询顾问。”

一句话,数学跟编程完全两码事,把这两者混为一谈是一个方向性的错误

#46


引用 28 楼 cxz7531 的回复:
引用 13 楼 carrotmin 的回复:
居然还有软件专业不用学数学的?
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些
计算不重要,分析才重要


对于程序员来说,数学基本没用。
数学基础好对软件开发是一个障碍,在公司里基本可以看到,数学好的做软件都烂,软件高手数学都烂


能透露下你们公司做什么吗?

#47


引用 45 楼 cxz7531 的回复:
数学不能体现一个人的综合思维能力,我们公司的资深架构师都是数学盲,其数学知识停留在算术阶段,但并不影响他们深刻地体会需求,建立对象模型,运用良好的设计模式、建立系统的架构。

至于图像加密压缩之类的算法,基本上可以封装成孤立的函数重复使用,不需要每个人都去学,其需求也十分直观,不需要很强的抽象能力。至于微积分、信号处理等等基本上就是套公式,我在大学里还自己编过有限元强度应力分析程序,跟现在的软件…


这位架构师有什么出色的作品?

#48


引用 46 楼 ouyh12345 的回复:
引用 28 楼 cxz7531 的回复:
引用 13 楼 carrotmin 的回复: 
居然还有软件专业不用学数学的? 
其实真要学数学,高数不是最好的选择,数学系学的数学分析更好一些 
计算不重要,分析才重要 


对于程序员来说,数学基本没用。 
数学基础好对软件开发是一个障碍,在公司里基本可以看到,数学好的做软件都烂,软件高手数学都烂 
 

能透露下你们公司做什么吗?


电力GIS、电力管网之类

#49


至于LZ现在的情况,那么我也在这里多说几句了,对于一个人来说,选择一个好的发展方向比盲目的努力更重要,因为性格决定命运嘛,做人首先要学会了解自己,然后再学会了解别人,弄清楚自己喜欢什么,自己的优点与缺点是什么,然后扬长避短,找到适合自己的路比什么都重要。。。。。。

结合到LZ现在的数学水平来讲,假定LZ在学习数学时是付出了努力,也并不讨厌数学,你这方面成绩差一点,就说明一个问题:你的逻辑思维能力方面的天赋比别人差一点,不过你不要悲观,程序员虽然与良好的逻辑思维能力关系密切,但并不是要求每个程序员都要达到很高的逻辑思维能力的水平,先天条件差一点,那么就需要后天多付出一点点努力了,只要你努力了,达到一般人的水平只是指日可待,前面我也说过,数学是锻练一个人逻辑思维能力的很好的方式,你现在只需要认认真真学习大学里面的数学课程就可以了,如果感觉到吃力,就回头补习一下高中数学的知识,多付出比别人多一点点的努力,这并不是吃亏,以后你会有更多的收获的。另一方面,既然你逻辑思维能力方面的天赋比别人要差一些,那么就不要偏往那些极度需要这方面能力的方向发展,比如你以后不要往算法方面发展,争取往软件架构、业务处理、人际交往方向发展,发现自己的优势,扬长避短,选一条适合自己的路比什么都重要。

#50


我每天买菜的时候都要用