Arrays.sort() and 吾欲仁则斯仁至矣

有不少人在争论 Java 对学生有益还是有害(不少网站上的评论有断章取义的嫌疑,不值得多看,建议看这个中文链接)(英文链接)。事实上,这个问题事实上不是最近才提出来,大约6~7 年前,我们的同事在美国的学校招聘的时候,就发现和学生好像谈不到一块儿 –     面试者:能不能讲讲各种排序 Sorting 的方法?    学生: 很简单,用 Arrays.sort()  即可,我不关心它具体怎么做的。     面试者:那你们还学C么?     学生: C 是过去的语言,我们要面向对象。 (中国的学生可能会再加上 “面向未来”,“面向世界”… ) 这样的现象在这几年中越来越普遍了,因为越来越多的同学前来找工作的时候,除了一些抽象的理论和知识,我们并不能看出来他们对计算机这门“科学”,对程序开发这门“应用”有足够深入的了解,这些学生们觉得Java(或C#)已经替他们理解了,他们不必自己再亲自理解一下。面对这样的情况,大家不得不反思一下“他们在学校里到底学了什么?”,“我们应该教什么?”。 但是,在进一步讨论之前,我们要注意到原文并不是作了一刀切的“java 有害”结论。我的理解是: 如果Java 是学生学习计算机编程的第一门语言,会有一些问题。 但是这些“问题(Harm)”,并不是不能解决的。学生以后可以学汇编,C/C++,COM,Lisp,Asp.net,编译,计算机体系结构,等等。通过学习和实践,学生们应该能对计算机这门“科学”,和计算机编程这门“应用”有深入和全面的了解。 Java 挺好的,把很多细节都隐藏在抽象层面之下,我要排序, 则调用Arrays.Sort(),搞定.  我们不用关心这个到底是如何实现的,对不同的数据有什么样的效能 – 直到我在现实的项目中发现几个简单的Sort, for loop 组合在一起,会花非常长的时间。 这个现象和论语中,“吾欲仁,则斯仁至矣” 有异曲同工之妙。 说到“第一门”,其他类别的教育系统都有这样的问题,例如小学语文的第一课如果是“论语”,若干年后,会有教育学家总结“论语作为小孩的第一门语文教材,会对学生有害”,当然,此结论必然会被过度简化为“论语对学生有害!”这样耸人听闻的标题,引起另外一场大水。 (现在有人强迫小儿以"诵经"为入门,他们以后都要还的.) 我们还可以得出一个推论: 对于计算机专业的学生来说,如果Java … 继续阅读
posted @ 2008-01-12 20:04  SoftwareTeacher  阅读(548)  评论(0编辑  收藏  举报