观海听涛BBS's Archiver

小餮 发表于 2008-4-21 22:05

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)。

蓝月鸟 发表于 2008-4-23 13:43

工业社会
要求有人员分工
语言也要有分工
不可能要求一个人掌握所有的技能
语言也不可能完成所有实现

没见过多少人用C做企业级应用的
也没见过多少用Java做IC驱动的

虚拟机语言是一种趋势
硬件语言已经在前面的几十年搞得差不多了

语言
更多的是思想

老一代人总会对新生事物感到不满
自然规律

wwfalcon 发表于 2008-4-23 13:51

[em07] [em07] [em07] 学校图书馆。。。貌似跟编程沾边的有至少五分已经是java的天下了。。。。。
难道学校也倾向于工业化了。。

蓝月鸟 发表于 2008-4-23 14:33

TIOBE开发语言排行榜日前宣布了2008年4月流行开发语言的排名结果,曾经沉寂很久的ColdFusion 本月突破性地进入了前20名(虽然吊在榜尾)。

Java 和C 依然占据榜首一二名的位置,不过C 的指数同比去年略有下降。(Visual) Basic上升到第3名,C++ 下降到第5名,Ruby 和Delphi 则保持继续上升的良好态势。详情见下图:

[img]http://images.csdn.net/20080411/0804tiobe.jpg[/img]
10种语言使用情况曲线图:
[img]http://images.csdn.net/20080411/tpci_trends.png[/img]
其他语言排名:[table][tr][td]Position[/td][td]Programming Language[/td][td]Ratings[/td][/tr][tr][td]21[/td][td]Logo[/td][td]0.383%[/td][/tr][tr][td]22[/td][td]Lua[/td][td]0.378%[/td][/tr][tr][td]23[/td][td]ActionScript[/td][td]0.362%[/td][/tr][tr][td]24[/td][td]Fortran[/td][td]0.335%[/td][/tr][tr][td]25[/td][td]RPG[/td][td]0.297%[/td][/tr][tr][td]26[/td][td]MATLAB[/td][td]0.257%[/td][/tr][tr][td]27[/td][td]Prolog[/td][td]0.244%[/td][/tr][tr][td]28[/td][td]Awk[/td][td]0.228%[/td][/tr][tr][td]29[/td][td]Transact-SQL[/td][td]0.206%[/td][/tr][tr][td]30[/td][td]ABAP[/td][td]0.204%[/td][/tr][tr][td]31[/td][td]LabView[/td][td]0.178%[/td][/tr][tr][td]32[/td][td]Erlang[/td][td]0.144%[/td][/tr][tr][td]33[/td][td]Groovy[/td][td]0.142%[/td][/tr][tr][td]34[/td][td]Smalltalk[/td][td]0.137%[/td][/tr][tr][td]35[/td][td]Haskell[/td][td]0.137%[/td][/tr][tr][td]36[/td][td]PL/I[/td][td]0.134%[/td][/tr][tr][td]37[/td][td]Bash[/td][td]0.127%[/td][/tr][tr][td]38[/td][td]Objective-C[/td][td]0.116%[/td][/tr][tr][td]39[/td][td]Tcl/Tk[/td][td]0.114%[/td][/tr][tr][td]40[/td][td]CL (OS/400)[/td][td]0.110%[/td][/tr][tr][td]41[/td][td]ML[/td][td]0.106%[/td][/tr][tr][td]42[/td][td]Forth[/td][td]0.102%[/td][/tr][tr][td]43[/td][td]APL[/td][td]0.102%[/td][/tr][tr][td]44[/td][td]REXX[/td][td]0.102%[/td][/tr][tr][td]45[/td][td]R[/td][td]0.101%[/td][/tr][tr][td]46[/td][td]PowerShell[/td][td]0.096%[/td][/tr][tr][td]47[/td][td]Euphoria[/td][td]0.092%[/td][/tr][tr][td]48[/td][td]Ch[/td][td]0.091%[/td][/tr][tr][td]49[/td][td]Natural[/td][td]0.090%[/td][/tr][tr][td]50[/td][td]Caml[/td][td]0.089%[/td][/tr][/table]
TIOBE开发语言排行榜每月更新一次,依据的指数是基于世界范围内的资深软件工程师和第三方供应商提供,其结果作为当前业内程序开发语言的流行使用程度的有效指标。流行的搜索引擎包括Google、MSN、Yahoo!和YouTube等。

原文地址:[url=http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html]http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html[/url]

[[i] 本帖最后由 蓝月鸟 于 2008-4-23 14:36 编辑 [/i]]

凡星 发表于 2008-4-23 15:03

搞毛啊那些老头。。

麻木尔杜斯 发表于 2008-4-23 17:03

不是JAVA对学生有害,
而是打不好其它语言基础不好,如果要做全才的话

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.