`
sunxboy
  • 浏览: 2870271 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

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

阅读更多

【CSDN 1月9日消息】 国际消息 美国纽约大学的两位计算机科学系退休教授发表一篇公开文章,标题是“计算机科学教育:明日的软件工程师在何处?”。在文中,他们强烈地批评了纽约大学和其他大学,没有向学生传授纯粹的语言如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)。【呐不喊】

原文链接:http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html

Dr. Robert B.K. Dewar

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.

Dr. Edmond Schonberg

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.

分享到:
评论

相关推荐

    美国大学计算机科学教材:java software solution

    《Java Software Solutions》是美国新泽西理工学院(NJIT)计算机科学专业的本科教材,主要讲解计算机软件的基础知识,采用Java编程语言作为教学工具。这本书深入浅出地介绍了如何使用Java来构建软件解决方案,旨在...

    美国教授对中国学生写英文文章的建议.pdf

    美国教授对中国学生写英文文章的建议,有关硕、博士论文,期刊等!

    Java程序设计_美国原版教材课件ppt

    7. **多线程**:Java对多线程的支持非常完善,可以创建Thread对象或实现Runnable接口来实现并发执行。还包括同步机制(synchronized关键字、Lock接口)、线程池(ExecutorService)等高级主题。 8. **网络编程**:...

    解决java.security.InvalidKeyException: Illegal key size

    这个错误通常是由于Java安全策略的限制导致的,尤其是当你尝试使用超过默认限制的密钥长度(例如,超过128位)进行加密操作时。在Java中,这些限制是出于历史原因和国际法规,主要与美国出口法规有关。 为了克服这...

    java.security.InvalidKeyException:illegal Key Size

    在JDK6版本中,Java默认仅支持40位和128位的密钥长度,对于更高安全性的需求,如256位的AES(高级加密标准)密钥,就会抛出此异常。这是出于美国出口法规的限制,旨在控制加密技术的出口。然而,为了使用更长的密钥...

    计算机行业快报:美国出口管制清单对计算机行业影响.pdf

    计算机行业快报:美国出口管制清单对计算机行业影响.pdf

    Java程序设计_美国原版教材课件及例题代码

    7. **多线程**:Java内置了对多线程的支持,Thread类和Runnable接口是实现多线程的两种方式。理解和掌握同步机制(如synchronized关键字,wait(),notify(),notifyAll()方法)是编写高效并发程序的关键。 8. **...

    Java程序设计教程第五版教材(美国)上的例题

    1. **Java语法**:Java语法严谨,包括变量声明、数据类型、运算符、流程控制(如if-else,switch,for,while循环)、类和对象的创建、方法定义等。了解并熟练掌握这些基础语法是编写任何Java程序的前提。 2. **...

    UMAP Journal 2017 ICM Contest:美国大学生数学建模特等奖论文全集

    ### UMAP Journal 2017 ICM Contest:美国大学生数学建模竞赛特等奖论文全集 #### 知识点一:美国大学生数学建模竞赛(ICM) **美国大学生数学建模竞赛(ICM)**是国际上极具影响力的大学生学科竞赛之一,由**美国...

    语言程序设计资料:JAVA词汇大全-超级有用.doc

    9. **ASCII**:美国信息交换标准代码,是一种7位的字符编码系统,Java支持Unicode编码,它是ASCII的扩展,包含更多的字符。 10. **Bean**:Bean是Java的一种可重用组件,主要用于构建GUI应用。JavaBeans遵循一定的...

    IBM公司Java培训pdf

    - **多线程**:Java内置了对多线程的支持,允许开发者编写能够利用多核处理器优势的应用程序。 #### 二、Java 2平台的版本划分 Java 2平台根据不同的应用场景分为三个主要版本: - **J2SE(Java 2 Platform ...

    java语言程序设计教案

    3. 分布式:Java支持TCP/IP协议,便于构建分布式应用程序,如B/S、C/S系统和点对点网络架构。 4. 鲁棒性:Java拥有强大的错误检测机制,包括变量类型检查、初始化检查、数组越界检查等,保证程序的稳定性和安全性。...

    Java课件第一章java概述课件

    6. **多线程**:Java 内置对多线程的支持,使得开发者能轻松编写并发程序。 7. **动态性**:Java 能够适应不断变化的环境,方便程序的扩展和更新。 在教学安排中,Java 程序设计通常包含以下几个部分: 1. **Java ...

    The art of Java

    2. Java虚拟机(JVM):Java虚拟机是运行所有Java程序的抽象计算机,它有一个自己的指令集并负责程序的执行。JVM为Java提供了一个与平台无关的运行环境。 3. 核心API:Java提供了一个庞大的标准库,Java开发人员...

    美国大学生数学建模比赛论文

    标题《美国大学生数学建模比赛论文》所蕴含的知识点主要包括以下几个方面: 1. 数学建模竞赛(Mathematical Contest in Modeling, MCM):数学建模竞赛是一种应用数学技术来研究和解决实际问题的竞赛活动。它要求参赛...

    JAVA程序设计与问题解决高级篇(美国)Savitch

    《JAVA程序设计与问题解决高级篇》是由美国作家Savitch编著的一本关于Java编程的高级教程。这本书深入探讨了Java语言的核心概念和技术,旨在帮助读者提升在实际问题解决中的编程技能。作为一本面向进阶学习者的书籍...

    美国计算机入学考试指导手册

    美国计算机入学考试,通常指的是美国大学的计算机科学入学考试,特别是在美国高中生参加的大学先修课程(Advanced Placement,简称AP)计算机科学考试。AP课程为高中生提供了在高中阶段学习大学水平课程的机会,并...

    JAVA 对SWMM模型DLL调用

    7. **处理结果**:Java程序可以继续读取`rpt`和`out`文件,分析模型的结果。这可能涉及到文件I/O操作,以及对SWMM输出格式的理解。 在"jnademo"这个文件中,很可能包含了实现上述步骤的示例代码。通过研究和学习这...

    在美国空军创建Java技术应用中心

    美国空军司令部运营与维护系统小组是全面执行Java技术应用中心(JCOE)项目的第一个美国国防机构。JCOE项目的设计初衷就是为美国空军这样的机构的Java技术应用开发提供有效的、成功的方法。由于认识到Java技术是开发和...

Global site tag (gtag.js) - Google Analytics