14 12
发新话题
打印

美国两位计算机系教授:Java对学生有害

美国两位计算机系教授:Java对学生有害

美国纽约大学的两位计算机科学系退休教授发表一篇公开文章,标题是“计算机科学教育:明日的软件工程师在何处?”。在文中,他们强烈地批评了纽约大学和其他大学,没有向学生传授纯粹的语言如C、C++、Lisp和ADA。
“学生从当前教育实践课程中获取的技能不足以应付今日软件行业的发展(尤其是安全和安全目的方面)。更不幸的是,与外部行业需要过于匹配了,我们训练了许多容易被取代的软件工程师。”
尤为注意的是,文中以“Java作为第一编程语言的诸多缺陷”为小标题对Java进行了批判:
由于Java在Web应用领域的流行,以及初学者容易生成图形化编程,Java成为入门课程中使用最普遍的语言。从此后学生发现很难在一个没有图像界面的语言上编写程序,不清楚源程序和硬件如何执行之间的关系,更具有危险性的是他们一点也不了解指示器的语义,这使得使用C语言编程也成为挑战。”
编程的真正的美妙之处在于,将复杂的过程缩减成非常小的一个简单操作。Java并没有体现这种美妙,它鼓励采用“问题解决(problem-solving)”的方式,使程序员就像五金店的水管工人:到处翻腾抽屉、阁子最后找出需要的零件。最终的结果使得学生知道如何将一些简单的程序组到一起,而对编程却一无所知。而且过早地使用Java库和框架有一个更大的缺陷:它使得学生很难对编写的东西形成运行时间成本(run-time cost)的概念,因为他们很难知道究竟哪种方法的调用是有效的。
我们为此亦找到了一些证据。Bjarne Stroustrup(被誉为C++之父)在德州农工大学(Texas A&M University )的报告中,指出了工业对于这种方式越来越多的不满,而且Bjarne这样说,“从工业那里我看到了许多许多对此(Java作为第一编程语言来使用)的抱怨,尤其是AT&T, IBM, Intel, Bloomberg, NI, Microsoft, Lockheed-Martin等等。”
另外在文中,这两位教授们认为真正的程序员能够使用任何语言(C,Java,Lisp,Ada)。


Robert B.K. Dewar, Ph.D., is president of AdaCore and a professor emeritus of computer science at New York University. He has been involved in the design and implementation of Ada since 1980 as a distinguished reviewer, a member of the Ada Rapporteur group, and the chief architect of Gnu Ada Translator. He was a member of the Algol68 committee and is the designer and implementor of Spitbol. Dewar lectures widely on programming languages, software methodologies, safety and security, and on intellectual property rights. He has a doctorate in chemistry from the University of Chicago.

Edmond Schonberg, Ph.D., is vice-president of AdaCore and a professor emeritus of computer science at New York University. He has been involved in the implementation of Ada since 1981. With Robert Dewar and other collaborators, he created the first validated implementation of Ada83, the first prototype compiler for Ada9X, and the first full implementation of Ada2005. Schonberg has a doctorate in physics from the University of Chicago.
晚上没激情~~~~

TOP


晚上没激情~~~~

TOP

学生就应该学习低级语言才能更好的了解系统是怎么运行的

TOP

胡扯,美国小学生都用计算器,怎么解释,他们怎么不批判?

怎么不让人学0和1去?工作需要什么就学什么,每个人都学c++,必要吗?是不是每个学汽车的人都要先学驾马车?

TOP

建议先从机器语言学起!

TOP

看用来做什么了,现在大家都是什么流行用什么,实际上应该是什么适合用什么。
没有

TOP

这个不好说, 各有各的好处. 当初大一学习C的时候, 很多人就是因为觉得太难了, 而失去了对计算机的学习兴趣.    第一编程语言连Java都不应该, 应该用VB或者Delphi

[ 本帖最后由 Fly.Hang 于 2008-1-11 14:28 编辑 ]
来单来单来单 :

TOP

应该用C#,C#才是第一语言!

TOP

美国什么人都有,冒出几个异类不足为奇。大多数学校选择java作为教学语言,已经足以说明问题。
教学语言,还是java合适。实际上c#更好,因为编程工具更方便,更简单。但是考虑到这样对其他公司不公平,所以只能选择java。
第一门教学语言,不应该涉及太多细节,而应该着重培养编程的概念。
而c和c++不适合,因为他涉及了太多跟理解概念无关的细节。比如,头文件是做什么的,怎么向学生解释?这种与教学本身无关的细节会影响教学效果。
两位教授的错误在于认为学校应该只教一种编程语言。这是错误的。c是程序员必须会的编程语言。但是没有必要用它来入门。它是用来做操作系统的。应该结合汇编、系统结构、操作系统的课程去教学。
相比之下,我们国家长期使用c作为入门语言,才是一个真正的错误。很多程序员连基本的编程概念都没有,做任何项目,都能做得一团糟。反而是我们应该把我们的教学语言改成java。
由易到难才是正确的教学途径。没学走就学跑是不行的。对于学习能力强的人来说,你不教他也能学会。但是有些人就不行了。这种人本来就不适合做程序员的。你教他java他还能把简单的东西拼到一起,教他c就完了,他把你搞得系统崩溃,精神也崩溃。

[ 本帖最后由 yongweisun 于 2008-1-11 16:32 编辑 ]
恨号,恨呛大!!!

TOP

所有人都说:吸烟危害健康,喝酒损害身体!

"我有1000亿美元,每天花300万美元,还能维持100年,这还是以为我不再进帐为前提。"――比尔·盖茨

TOP

 14 12
发新话题