西西河

主题:【整理】关于编程改革 -- 代码ABC

共:💬53 🌺271
分页树展主题 · 全看首页 上页
/ 4
下页 末页
        • 家园 我怀疑抽象能力或者说建模能力中国人普遍比较差

          虽然中国人会做题,但是抽象的思考问题,数学化的思考问题从我在网络辩论上所感觉的,一般都很差。

        • 家园 编程能力我想最重要是看说明书和收拾屋子勤快的能力。

          实际问题转换成数学问题不是编程的人干的。转换成数学问题之后的算法问题也不是编程的人干的。最后确定算法之,变成功能模块后,编程的人才可以组合这些模块。至于组合的好坏,调错,需要一些数理逻辑。这就是为什么一个小学数学不及格但是能够收拾屋子人可以编程不错。计算机的出现就是把以前难的问题变成简单的手段。当然只能是越来越简单,让更多的笨人可以享受牛人的风光。牛人可能会有失落感,以前费了牛劲出来的东西,被一帮本人几下就搞定了。不过真正的牛人不会失落的,他们可以牛新的东西。笨人享受了短暂的风光,比如说很快就可以算出开方出来之类的。然后,仍然是笨。这个世界就是牛人永远是牛人,笨人永远是本人,如果你觉得编程很牛,很高深那么你什么东西都会觉得很高深,如果你什么东西都觉得很简单,那么你就是牛人了!关键是你牛不牛,不是高不高深。

          通宝推:打铁的,铁手,
        • 家园 谢谢,门外汉觉得好神奇哦
        • 家园 手算开根号是初二内容...

          虽然是选读吧

        • 家园 知其然不知其所以然恐怕解决问题上有难度。

          高级程序员恐怕数学要求比较高吧。

          • 家园 软件开发的分工不同

            不同的分工对能力有不同的要求,研究算法的必须具备相当的数理基础;做架构、设计的强调抽象、管理;做实现的强调表达。其实写代码是用一种非人类的语言和非人类打交道,说到底是语言表达能力的问题——文科生的基本要求。

            • 家园 这个回复概括得很好

              研究算法的好多是学数学出身的。但是普通程序员在编程中也需要数学知识。比如Big O, 和 正则表达式分别是离散数学和逻辑学的内容。而离散数学和逻辑学是计算机本科的必修课。

              做架构师的确更需要抽象和管理能力,比如怎么分析用户需求说明书,怎么把用户需求抽象成不同的模块功能,用什么数据结构来表达用户数据等。

              而真正写代码的程序员,除了实现功能以外,则主要考虑代码是否写的简洁易读,便于维护和重复使用等。我确实见过一些程序员爱用层层嵌套的if-then-else,也很少用switch 或 loop 语句的。有的一个模块一写几万行,除了难读以外,也无法被别的模块调用的。主要还是基本功不扎实啊。

            • 家园 太强悍了,怪不得计算机的发展方向就是向人脑进军

              原来软件人员的终极就是文学创作 -- 文科生的基本要求先

          • 家园 编程要的是套公式的能力

            我认为需要一般逻辑能力,并不需要太多数学。越高级的程序员恐怕数学忘掉的越多。

            一般情况下,所有的问题都已经被人解决了。好的程序员应该会把一个大问题分成一堆小问题来各个套公式(copy&paste).高级程序员应该更知道怎么分成一堆小问题,并且什么公式更好和怎么套。

            当然,你要是给INTEL写遍译器或库函数的高级程序员数学就要非常牛了。数学要求最高的应该是写数居加密程序的程序员。

            • 家园 写编译器用不着高深的数学

              一本编译原理足够。

              写数据加密程序也用不着数学,现在的DES,RSA算法早有了,照着套就是了。需要高深数学的是开发新的数据加密算法,以及——做黑客。

      • 家园 在美国,当然能,在中国,可能够呛

        首先,“编程这行”太广了。小学数学水平要是干微软,脸书,google的编程工作,可能够呛。但要是编个公司报表产生程序,其实能干得了。

        我曾在编程这个行当里干了8年,我认为绝大多数编程工作只需小学数学。当然,有很多工作中学数学基础就可以干得更好。只有非常少的编程工作才需要更高深的数学。

        但是做编程这行(其实任何一行都是)最主要的是找到这行的工作。在中国,老板至少也有高中数学水平,小学数学水平太露怯了,我认为很难找到工作的。

        绝大多数老美的小学数学都没学好,所以他们当老板也问不出所以然来。而且因为数学太差,绝大多数也不愿意学或想学也学不懂。

        根据这个文章外链出处,美国2008-2009年度计算机科学的本科毕业生比1984-1985年度还少。所以老中只要愿意转行做编程的大多数都能在美国找到工作。

        我一个老美同事,计算机科学本科毕业,某天在饮水机旁拦住我问,可否将两个平均数相加除二来算总平均数。我到他办公室给他解释两个平均数产生时如果分母不同,不能相加除二(我知道他两个组不一样大)。此时另一个老美同事(电子工程本科毕业)打来电话,说他刚用微软Excel试了一下两组各五个,相加除二和十个总平均数是一样的,所以可以。

        我一个大学同学曾在王嘉廉创立的软件公司CA工作。他说他的老美同事不知道两数之积的对数等于两数的对数之和。

        所以,至少在美国,编程工作大概连小学数学都不需要。


        本帖一共被 1 帖 引用 (帖内工具实现)
        • 家园 谢谢指教
        • 家园 这一段让我大汗……

          我一个老美同事,计算机科学本科毕业,某天在饮水机旁拦住我问,可否将两个平均数相加除二来算总平均数。我到他办公室给他解释两个平均数产生时如果分母不同,不能相加除二(我知道他两个组不一样大)。此时另一个老美同事(电子工程本科毕业)打来电话,说他刚用微软Excel试了一下两组各五个,相加除二和十个总平均数是一样的,所以可以。

          这个应该是国内小学数学的要求吧?

分页树展主题 · 全看首页 上页
/ 4
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河