×

Loading...
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务

“爱屋及乌”效应,多数是因为学电脑编程遇到难题或瓶颈,只知其然不知其所以然,然后才转而补相关的数学知识,是因困难或自身的数学短板而触发了学习动力(反推),这对一些人也是一种有效的学习方法....类似学习中的“逆向工程”...

Report

Replies, comments and Discussions:

  • 枫下家园 / 望子成龙 / 这里的大部分同学都认为, 学好了数学, 再学电脑就会很轻松。我并不怀疑这种观点。但反过来, 如果学好了电脑, 不是一样对学数学很有帮助吗?
    • 我可以负责任地跟你说,反过来是不成立的。不要问为什么,相信我就对了。 +12
      • 做了一道电脑题, 不就是做了一道数学题吗?
        • 不一定,如果题目涉及的是相关的界面设计,那跟艺术表达和相关的电脑技能有关,但未必需要什么数学知识....
          • 这样的题目根本不需要数学, 我指的就是和数学有关的编程。
            • 若题目所需数学知识没学过/根本不懂,那就没法做题,除非意识到缺了啥而搁置做题,先去补数学然后再做...但不能因此而描述为:因为先“学好了电脑”,所以就对数学就有帮助了。事实上是逻辑时序不对,那是电脑题做不下去而不得不去先补数学....谈何电脑学好了呢?
    • 学好了逻辑对学电脑有帮助,学代数,微积分之类的没直接帮助 +2
      • 反过来学了电脑, 不是一样有助于学好逻辑吗?
        • 不学逻辑没法儿编程啊 +4
          • 在编的过程中不就会了?
            • 多看一些逻辑推理的书会有帮助,当然编程确实会慢慢提高一点儿自己的逻辑推理能力 +1
            • 在跑步的过程中学走路,好像哪儿不对。如果娃厉害,也许行呢。
              • 编程并不算跑吧, 也是走路。
                • 开玩笑的,只是想说二者的逻辑关系。我大概看过滑大的电脑竞赛,基本是解数学题。想进国家队,似乎一定要解数学题。看一下国家队做的题或许能明白些啥。小匹加加油,数学编程两条腿走路,或许真的能进国家队。
    • 就像金庸说的, 力劈华山这个招式是用右手使的, 但用左手也是可以的。 +1
    • “学电脑”,这说法太笼统,电脑大体上包括软硬件/网络以及算法、理论等等,还可细分出很多东东,但也未必所有东东都与数学密切相关,得具体说学啥...... +1
      • 就是编程算法 +1
        • 编程与算法在具体工作中往往也可能是分离的,一般应用编程多数无需懂具体算法,只需懂选择现成算法及调用算法模块的相关语句/命令就行了,而设计算法必须懂相关的数学知识...但系统编程或底层开发需要懂更多数学和算法设计(如果没现成的可用)
        • 小孩子学的计算机没有啥算法需要特别的数学,在CS的algorithms里面确实有一些是mathematical based algorithms但是那里面的数学只是内容,算法是手段,CS人员可以只搞算法,数学家搞内容 +1
    • 如果是学计算机专业得话,是得学好数学,相辅相成吧,工程和科学得关系 +1
      • 我没说数学不重要。我是说先学电脑, 后学数学也是一样的。
        • 对于初学者引发兴趣是可以的,但不大可能一直如此。因为电脑编程涉及考虑算法设计的情形,多数需要先有一定的数学知识基础,否则连问题都未必能理解,又如何去分析和寻找解法?数学基础是皮,解法是毛,“皮之不存,毛将焉附”? +1
          • 随着编程的由浅入深, 数学基础不就逐渐加厚了吗?
            • 嗯,也有一定道理,下面已经谈及:(#13892697@0)
    • 如只是你说的学编程,并不需要太多数学,看看硅谷大厂当地 招的许多码工只是普通college的毕业生。也见过同事只是高中毕业拿着高薪的合同工。高中数学加上脑袋瓜灵光就行。 +1
      • 但这种多数只是操作级别的底层码工,因为系统结构/框架甚至模块框架是别人设计的,这种码工只是遵循系统方案去填框而已,若没有更多更深的理论知识,不太容易有创意的idea或创新的眼光及能力...多数只能胜任普通的应用开发/维护...
        • 系统结构/框架要什么数学? +2
          • 问得好,隐约感觉大拿要挖坑了,呵呵😄......对现实问题的抽象及其逻辑关系的分析定位、元素的组合等等是架构师应该具备的数学素养吧?

            这些数学素养在系统设计/建模、子系统及其功能划分/组合等过程中,往往都有或潜或显的应用,而这直接影响到开发实效及未来的系统维护/升级发展,尤其是对开发新的OS、DBS、决策分析系统之类,架构师的数学素养甚至决定了系统的成败.....

            当然,作为架构师未必需要有很高深的具体数学知识,但应该有逻辑清晰和富有前瞻性的思路.....

            卡大拿经验丰富,谈谈你的看法,有砖尽管砸哈....

            • 这坑挖的真深,architect 比码工还不需要数学,码工写程序还需要逻辑, architect 连逻辑都不需要,不信你问问老猫他工作中需要用到什么数学
              • Architect逻辑是最重要的,很多项目出问题就是因为一开始方向就错了。至于数学,程序大部分属于工程范畴,轮子由专门的公司制造,买来就行了。但是很多专业软件公司有竞争edge,数学就很重要了
                • 项目出问题难道不是需求没搞清楚? Architect 就是搭积木, 把各个产品拼在一起实现所需功能,重点要考虑的是接口和performance, 除了最基本的逻辑分析不需要其他数学知识,语言好最重要 +1
                  • 需求搞清楚了未必积木就一定搭得好吧?当类似功能的积木有比较大的选择空间时,选用什么样的积木,采用怎样的搭配策略往往也决定了系统的结局...不过架构师也有不同层次,看是啥公司什么层级吧,是整个公司发展战略级的还是具体产品级的... +1
                    • 其实大家说的差不多是一回事 -- 系统架构师做的基本上是 “choose the right tool for the right job” --- 所以要确保提需求的人把 job 说对了 --- 这个第一重要,要是错了,技术/数学/tools/积木再对也没用...
                      • 呵呵,貌似那主要是BA的活,不过也考验架构师的理解力?对于比较规范的业务或需求方本身很清楚的还好,否则难免有因含糊搞偏差的时候,有的甚至都未必能清晰地描述自己的需求,然后各方就折腾呗...
                        • 把 job 说清楚确实 *应该* 是 BA/PO 的活儿 --- 但项目出了问题,一般人会质疑技术,架构,所以架构师一般不得不花海量时间在需求确认上,用着小学三年级的数学,确保三年内 cloud solution 性价比最优。
                          • 多数是 BA+Documention+Presenting+PM,技术含量并不多。 +1
                            • 但往往成了很多项目的问题 -- 资历最浅,工资最低的新人 BA mess up 了用户的需求,决定了项目成败...
                              • 呵呵,这是不是也算分工太细惹的祸?如果有实际开发经验的ITer转做BA会好很多,以前在国内很多单位是同一项目组的人员从BA到设计、开发实施甚至后期维护全程包完的,这边分工太细... +1
                      • 有的时候还真是技术选择的问题。比如项目architect非要用某新技术,折腾半天发现这技术有很多问题。有的时候是这技术本身的适用范围就不对。
                  • 如果只是搭积木就不会有fail的项目了。大的IT项目跟工程不同。工程失败基本上是钱的问题。IT项目烧了很多钱后最后因为技术原因失败的很多
                    • 也有的不仅仅是钱或技术的问题,是系统创立者始料不及的问题,比如当年技术那么好的网景浏览器死于MS的IE.....
                    • 我觉得你说反了,工程项目失败很多时候是因为设计人员技术水平不行导致拖期,IT项目失败主要是需求没搞清楚,技术实现上不会有什么难题。
                      • 需求的方向问题若没搞清楚,尤其是描述不够清晰与后来的变动混在一块很容易导致扯皮。技术是相对可预见/控制的,如果采用成熟技术当然没问题,不够成熟/探索性的在初期可用快速原型法做个demo来验证,大或复杂的系统实施过程中或许会出现未预见问题...
                      • 每个人经历不一样,只能说你可能只做公司的小项目。投入上千万上亿的项目一些指标是不同的,比如并发上不去。
                        • 什么样的IT项目需要投入上亿的钱, 尤其是这年月硬件没那么贵 ?并发的问题任何项目都有可能存在,跟投入多少钱没关系。
                          • 都存在,但难度看具体需求吧,比如中国的人口再加上双十一 / 春运抢票之类的需求,在云计算普及之前我觉得挺难设计(平衡)的...
                            • 这点倒是,貌似淘宝各个节日从来不down, 也没有下不了单的时候, 不知道他们有多少server
                              • 现在云计算已经是标配了,很容易随时随地动态 scale out + pay per use... 以前是真心不容易...
                              • 光有server不行,在其server前端还有个load Balance的处理系统,这里就需要数学了.....
                                • 不需要什么高级数学,需要做 stress test 然后不停地tuning , 小学数学就够用 +1
                                  • 呵呵,别不把小学数学不当数学哦......
                                    • 😂.
                              • btw,淘宝系统架构很容易 google 到,网上有,包括它的十四次演变,不知道是不是很精确。最后的版本是 cloud + kubernetes
                                • 真有?Link?
                                  • 阿里P8架构师谈(SOA微服务淘宝架构):淘宝技术架构从1.0到4.0的架构变迁!附架构资料 - 知乎
                                    一、淘宝技术架构变迁自2003年创立以来的,淘宝业务发展非常迅速,几乎是每年以100%的速度在成长。创立之初,为了快速上线,抢占市场,选择了当时流行的LAMP架构,用PHP作为网站开发语言, Linux作为操作系统,Apa…
                                  • sorry - 14 次架构演进那篇,找到原文看到里面说的是 *模拟* 淘宝的 不是真的淘宝架构
            • “有逻辑清晰和富有前瞻性的思路” --- 这个确实是软件架构师需要的,但对一般商用软件架构师来说,第一重要的往往不是技术实现,而是验证 *业务逻辑*,前瞻 *业务* 的未来变化模式...
              • 架构师虽不做具体的技术实现,但对技术实现的难点/瓶颈、开发周期等环节是要考虑的,这影响到对“业务逻辑”及相关流程的设计,对业务需求及相关技术的未来变化/发展要有一定的预测能力...否则系统设计有可能埋有隐患以致后来改不胜改甚至推翻重来...
          • 看是什么系统什么框架吧。象 google 的一些东西,出来之前先是几篇 paper 发出来,满满的数学公式。一般人做个商用系统架构,甚至一般的 framework,多半不需要 9 年级以上数学。 +1
            • 你说的是系统要实现的那种数学model或Business Model,而不是实现系统所用的软件结构。那是两回事,在你说的这种情形下,architect要去学懂那种model,然后去搭架子。而不是发明那些paper里的东东。
    • 可能有帮助,原先不喜欢学数学,但因为喜欢编程,改变了学数学的态度. +1
      • “爱屋及乌”效应,多数是因为学电脑编程遇到难题或瓶颈,只知其然不知其所以然,然后才转而补相关的数学知识,是因困难或自身的数学短板而触发了学习动力(反推),这对一些人也是一种有效的学习方法....类似学习中的“逆向工程”... +2
    • 孩子完成了2道题, 弟3题做完发现错了, 开始重做。
    • 你的小孩现在学的是刷题,真正学编程时他自己会 figure it out +3
    • 数学学得好天赋是最重要的。想学会靠花功夫可以,但要拔尖天赋更重要。如果天赋不行,非要去想着拔尖,很难。 +2
      • 适用于所有自然学科和文体项目。
    • 计算机是独立学科,和数学只有半毛钱关系,计算机热了,数学使劲贴近乎而已。 MIT的杀人犯就是例子,数学奥运银牌,计算机本科读了五年,博士读了七年还没影儿呢。当然有些领域会用到两个学科的知识,那是水平相关。 +2
      我认识的几个MIT CS毕业的娃,高中数学竞赛就是打酱油的水平。最熟的一女娃,高中立志学医的,进MIT学生物,学着学着变了主意,改计算机,也四年毕业了。
    • 不是的,就像你会做一位数加法,就会做两位数加法,但是反过来不成立。
    • 个人感觉编程只需要数学基础,不需要参加数学竞赛,不是数学竞赛成绩好才能参加计算机竞赛,但是计算机竞赛强的肯定逻辑能力强,这样的孩子数学不可能不好。
      • 不一定要参加数学竞赛才能参加计算机竞赛,但数学也一定要学得精深才行。
        有个学生高中时计算机学得极好,大学的计算机也非常好,但数学没有学到相应的程度。本来他非常有可能成为国际大师级别的,现在已毕业,因为数学不拔尖,看不到这个前景了,有点可惜。当然他比一般计算机毕业生的出路还是要强多了。
    • 一点帮助没有! +1
    • 你这叫本末倒置……
      • 你们就像华山派的气宗, 总认为要先练好内力, 然后再练剑法。不知道这个世界上, 还有不需要内力的独孤九剑吗? +1
        • 所以你练好了独孤九剑,会对你练内力有帮助?
          • 电影里高人不都那样么:根本无需动手,只是口里嘟嘟囔囔念念有词,对手就东倒西歪山崩地裂了.....哈哈.....
        • 这个世界上,多数武林中人是我们这样在镖局混饭的武师,不需要太多内力的... 真正内力好的每个门派其实也就几个...
        • 独孤九剑能不能打得过辟邪剑法还不一定,碰到葵花宝典,只有缴械。 +1
    • 其实是这样的:计算机很多东西,特别是编程,比较容易自学。数学那一套,自学比较艰难,跟着科班好好学学会比自己看容易。等学好了电脑,要是这时候已经脱离了学校,再学数学费劲很多。倒过来后学计算机就不怕 +3
    • 数学问题中有很大一部分是可以演算的 (computable) ,
      computable 问题中有很大一部分是可以用计算机解决的问题。计算机的教授们可以说是研究用计算机解决 computable 问题的数学家,而数学系的教授们研究所有的数学问题,不管问题是否 computable。数学好的大概率计算机也不差,反之亦然,因为大多数数学问题都是 computable 的。