美国纽约大学的两位计算机科学系退休教授发表一篇公开文章,标题是“计算机科学教育:明日的软件工程师在何处?”。在文中,他们强烈地批评了纽约大学和其他大学,没有向学生传授纯粹的语言如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)。
【相关文章】
|
||||
| · ASP.NET开发教程 · 专题:ASP.NET 2.0基础.. · LAMP技术精解 · 服务器节能与绿色IT · ARP攻击防范与解决方案 · Linux 集群技术专题 · Windows集群服务应用 · CISSP认证成长之路 |
· SQL Server 2008/2005.. · SQL Server入门到精通 · 网络工程师职业规划与.. · 浏览器的战国时代 · 运营商封堵ADSL共享 中.. · 微软出价446亿美元收购.. · 技术人求职简历完备手册 · 开源虚拟化技术Xen |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Apache技术专题 · Windows集群服务应用 · 国际文档格式标准开战 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · 了解统一威胁管理(UTM).. · 专题:AIX操作系统管理.. · 访问控制列表(ACL)介绍 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · 三层交换技术专题 · Apache技术专题 · 企业数据恢复指南 · Windows集群服务应用 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 · ASP.NET开发教程 · PHP开发应用手册 |
|||