免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: RoadStar
打印 上一主题 下一主题

怎样才能尽快的锻炼和提高写程序的思路? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2002-09-29 11:33 |只看该作者

怎样才能尽快的锻炼和提高写程序的思路?

下面引用由Eisen2002/09/28 10:34am 发表的内容:
呵呵……如何写程序……唉……
我写了大约7年程序了,到现在唯一的感觉就是——当初的数学分析没有好好学,今天受累了。
说来说去,写程序就是一个数学模型的建模过程,只要数学功力到了,写程序只是一个副产品。
(大言不惭地说)兄弟也搞过数学建模——参加过竞赛得过奖,毕业设计很大一部分就是数学分析、建立数学模型……
但是我没有感觉到它对我写程序有何帮助。是不是我现在程序搞得太皮毛了?

论坛徽章:
0
12 [报告]
发表于 2002-09-29 11:40 |只看该作者

怎样才能尽快的锻炼和提高写程序的思路?

下面引用由9命怪猫2002/09/29 11:33am 发表的内容:
(大言不惭地说)兄弟也搞过数学建模——参加过竞赛得过奖,毕业设计很大一部分就是数学分析、建立数学模型……
但是我没有感觉到它对我写程序有何帮助。是不是我现在程序搞得太皮毛了?

呵呵,可能面对的问题的难点不同吧?

    数学建模主要难点在算法方面,属于研究领域的。对数学的能力要求较高
    而实际中的项目难点大多在:用户需求复杂(一个字:杂),项目大(需要好的组织能力,管理能力),可能对数学的能力要求不是那么高。

不知对不对。:)

论坛徽章:
0
13 [报告]
发表于 2002-09-29 11:45 |只看该作者

怎样才能尽快的锻炼和提高写程序的思路?

经常看到资深专家讲数学是何等重要,数学与编程能力成正比

我不能理解,我倒认为逻辑学或者更靠近一些,但逻辑学与数学也只是一般的联系

程序里面的设计模式应该更从属于逻辑学范围吧

论坛徽章:
0
14 [报告]
发表于 2002-09-29 11:57 |只看该作者

怎样才能尽快的锻炼和提高写程序的思路?

是的。设计模式是教你如何组织你的程序中的类的,是一种组织能力的锻炼。

程序中如果用到了复杂的算法,数学能力还是要的,比如链表,二叉树。。。大学里数据结构里学的,好久没用,现在差不多都忘了,不过这基本上在研究一类的项目中用到,现实的基于数据库的项目中好像用的比较少。

软件工程在发展的过程中也从其他学科学到了很多经验。
毕竟他才发展了几十年,面向对象的技术也才十几年,路还长着呢。。。:)

论坛徽章:
0
15 [报告]
发表于 2002-09-29 11:57 |只看该作者

怎样才能尽快的锻炼和提高写程序的思路?

软件工程师需要数学的真正理由
Keith Devlin   2002年05月23日
  本文译自 The Communication of ACM 第44卷,2001年第10期

  软件工程师们常常宣称他们从来不用在大学里学到的任何数学知识. 说到这个,他们还会说连大学里学到的计算机专业知识都用不了多少。我搞了三十年数学,就让别人来谈计算机专业方面的情况,不过就数学的使用情况而言,我不得不坦白承认那些软件工程师太对了:他们就是用不着大学里学的数学。

  但他们也太错了。他们每天都运用着大学里学到的数学。

  其实这没什么矛盾。关键在于“运用”这词何解。一种理解是软件工程师们曾在数学课上常碰到的。比如,在高数课上学了分步积分法后,学生们就用该方法解相应的练习题和考试题。这种所谓的“运用”最为常见,而且也是当软件工程师说他们从不用大学数学时所暗指的。不过,这种理解建立在把人的学习方式看作“填鸭”的观点上。 根据这种“填鸭”观,教育主要就是把知识灌到我们头脑中,而运用我们所学主要就是把灌进去的东西再倒出来。我敢说,这种教育观高度简化而且错了。不过,现行教育制度(我也置身其中)下,人们开课,然后设置三小时反刍般的笔试(译注:三小时的笔试是北美很多大学期末考试的标准)来检验课的效果。正是这种方式,一次又一次滋养了教育是填鸭的观念。 相比之下,数十年来所有关于大脑工作方式及学习方法的大量研究都表明,掌握知识和像算法般的系统化做事步骤不过是人们学习过程的表象(我们知道那些是表象,因为我们一般都会在期末考试后飞快地忘记课堂上学到的东西)。教育的真正价值不在于此。我们的大脑或许是世上适应性系统的最佳范例。当我们让大脑经受长期的教育,大脑就会发生永久性的改变。从身体角度讲,大脑中某部分传导神经纤维链进一步生长并得到加强。从功用和经验的角度讲,我们获取了新的知识和技能。学习过程重复得越多,上述的改变就越强越久。 重复学习在数学里展现的效果之强烈,其他学科无出其右。形式化数学大概有五千多岁。5000年在漫漫进化史中不过眨眼工夫,而且肯定只够我们的大脑做出最细微的改变。因此,虽然闪族人在5000年到8000年前提出抽象的数,人类的数学思维当在更久更久前便已发轫。我们在最初的自然选择中发展了思考大自然和社会的能力,但人脑中应数学思考而生的新改变将综合我们的能力,使我们不光能思考具象的世界,还能推演我们头脑所创照的纯粹抽象世界。

  要人脑处理新层次上的抽象极度困难。这就是为什么直到18世纪数学家们才能自如地处理零和负数,也是为什么直到今天许多人都不能接受负一的平房根是真正的数。 但是,软件工程全跟抽象相关,它的每一个概念,观点,以及方法,都是完全抽象的。当然,很多软件工程师都不这样觉得,但这正说明了我的观点。他们从数学课上得到的最大收益便是曾对纯粹抽象的物体和结构进行过严格推演。而且,数学课是唯一给他们这种体验的科目。这种体验不在于那些课堂上教的重要东西,而在于其本身是数学化的。日常生活中,熟悉滋生出轻慢,而在学习如何在高度抽象的领域工作时,熟悉培养出的是种感觉,唔,熟悉的感觉 -- 就是说,曾经让人感到抽象的东西开始变得具体,因而变得比较容易对付。 尽管学习数学带给计算机专业人士的回报大过常人,但现今社会里每个人都能由此受益。例如,美国教育部1997年一项研究(The Reilly Report)表明,在高中修过严格的代数或几何课的学生在升学方面表现更加优秀,而且升学后的表现也更好,不管他们在大学里学的是什么。换句话说,看来完成一门严格的数学课 -- 学生们甚至不用学得多好 -- 是让人们提高自己思维能力,变得聪颖的绝佳方法。这种思维能力能让人们在各方面受益。

  (我在自己的书,《数学基因:数学思考如何演进及数为什么像闲言碎语》(Basic Books, 2000)中,我更加仔细地分析了本文的观点,并确定了哪些生存优势致使人类有能力进行数学思考。) 如我在这篇短文中所指,学数学对软件工程师们的这种好处比对其他人大得多。其实,这是基本的先决条件。虽然并没在工程系学生的必修数学课的要求里被正式提到,但它的确是数学为什么有用的真正理由。

  Keith Devlin (devlin@csli.stanford.edu) 是斯坦福大学语言及信息研究中心的执行主任


论坛徽章:
0
16 [报告]
发表于 2002-09-29 12:05 |只看该作者

怎样才能尽快的锻炼和提高写程序的思路?

[这个贴子最后由cinc在 2002/09/29 12:06pm 编辑]

说的好,数学是最抽象的了,但也最锻炼思维。。。
从中学到的用抽象,演绎,推理的方法来解决问题的能力才是最重要的。

论坛徽章:
0
17 [报告]
发表于 2002-09-29 13:24 |只看该作者

怎样才能尽快的锻炼和提高写程序的思路?

说道计算机与数学的关系,我想可能从事计算机不同领域的人会有不同的感受,象我们作应用软件的就可能不需要非常强的数学水平。
但不能说数学不重要,我觉得一个软件工程师应当具有良好的综合素质,需要多种多样的知识,而不是象人想象的那样是一种单一技能,所以也应当掌握好数学(别忘了计算机科学可是数学发展来得),当然不同工作性质的人可以根据自己的需要选择对数学的精通程度,并不见得都得成为数学家

论坛徽章:
0
18 [报告]
发表于 2002-09-29 13:39 |只看该作者

怎样才能尽快的锻炼和提高写程序的思路?

java这个版真好!受益匪浅!

论坛徽章:
7
数据库技术版块每日发帖之星
日期:2015-08-09 06:20:00数据库技术版块每日发帖之星
日期:2015-11-03 06:20:00数据库技术版块每日发帖之星
日期:2016-02-20 06:20:00数据库技术版块每日发帖之星
日期:2016-07-13 06:20:00数据库技术版块每日发帖之星
日期:2016-07-31 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
19 [报告]
发表于 2002-09-29 14:10 |只看该作者

怎样才能尽快的锻炼和提高写程序的思路?

其实大家说的都差不多----都是基于逻辑思维的构思能力.
如同cinc版主所言,数学修养是最能锻炼这种抽象能力的.
此外,我要说的是,哪怕是做应用软件,一样需要数学知识,因为只要是设计,哪怕是最小的一个模块,也是一个抽象的过程.
好的应用软件既使只从应用方面去看,同样有分布式和效率以及健壮性和自动化的种种区别.
所以我说,数学能力是编程工作中最重要的一点.呵呵

论坛徽章:
8
申猴
日期:2014-01-01 22:11:07白羊座
日期:2014-11-18 20:53:022015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之四川
日期:2016-01-19 18:39:36综合交流区版块每日发帖之星
日期:2016-06-07 06:20:0015-16赛季CBA联赛之广东
日期:2016-10-30 11:34:40CU十四周年纪念徽章
日期:2016-11-13 10:06:5715-16赛季CBA联赛之同曦
日期:2022-08-28 15:58:19
20 [报告]
发表于 2002-10-02 21:08 |只看该作者

怎样才能尽快的锻炼和提高写程序的思路?

我同意写小程序的观点!我觉得看别人的程序太费时间,自己写写小程序,并且尝试用不同的方法,从不同的角度(时间,空间)去写!我觉得那样对开阔思路,加深对语言的理解很有帮助!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP