选择合适的开发语言,执行效率是要考虑的一点,但绝对不是只考虑它。否则,汇编是最佳选择(如果平台提供的话)。开发效率、维护开销都是要考虑的要素(否则 VB 在中国的普及率为何远超过 VC++)。Java 在开发效率方面的优势毋庸质疑,否则为何所有最前沿的 Web 应用软件都是基于 Java 开发的呢? Java 性能评比: http://www.javalobby.org/features/jpr/ 从中可以发现 IBM 的 JDK 性能已经相当接近 C 了 (Java is dangerously close to C performance)
java是面向对象的语言,一般用类编程,平台无关性好,但运行较慢。
你可编两个helloWorld的程序比较一下。
但是紧紧比较速度,除非是对实时性要求高的情况下,是不够的。由于JAVA又比较完整,规范的库,语言定义比较严格,一般开发速度比较高。
如果你对速度特别敏感,比如嵌入系统,那无论多复杂,也要用c.
作为Microsoft.Net目标的组成部分,微软已经正式推出C# 语言。另外Visual J++系列已经停止升级,
这不由得我们又一次想起Microsoft和Sun的竞争。C#和Java是什么关系呢?
Microsoft分布应用平台部门软件架构师Andrew Layman介绍说C#包含使XML编程更为轻松的技术。微软将使
它的下一代工具软件、操作系统和应用支持XML技术。新的编程语言还将包含虚拟机设备。
Microsoft官员已经公开表示C#技术和该公司去年开发的 Java竞争技术Cool没有关联。Sun公司也认为C#不会替代Java。许多经销商、分析人士和开发商正在保留对C#的评价。尽管Big Blue称赞Microsoft给一个标准机构呈送了C#,然而IBM仍未决定是否支持C#。Hurwitz Group相信∶C#将促使Sun开放Java的部分源码并最终将Java提交给某个标准机构。然而VP Evan Quinn说∶如果C#比Java更加先进的话,现在谈C#有什么长处还为时尚早。
C#的首席设计师Anders Hejlsberg说:C#不是Java的翻版。在设计C#过程中,我们参考了多种语言,象C++,Java,Modula2,C以及Smalltalk等。多种语言有一些相同的核心思想不奇怪,象 deep object-orientation, object-simplification等等,这些也是我们感兴趣的。C#语言与其他语言,特别是Java语言的最主要区别是其尽量与C++靠拢。C#保留了C++的绝大部分操作符,关键字,描述方法。我们还保留了一些被Java抛弃的程序功能,例如enum ,这么一个强大的功能没理由放弃。在C#中,我们不仅保留而且有所增强,enum 成为.NET基础类库的system.Enum中的强类型数据类。不经过映射,foo类enum 不能等同于bar类。我们还保留了操作符重载和类型转换等。
C#超越那些传统编程语言的一个概念是面向组件。我们保留了原有的properties, methods, events, attributes, 以及 documentation 等优秀的语言概念,并且新创了其他语言从未有过的attributes (用于给任意对象增加带类型的,可扩展的元数据)。C#也是第一种组合了XML注释符,以让编译器在源代码中生成可读文档的语言。另一个重要概念是“一步到位”,就是你可以在一个文件中完成所有工作,不用再去建立头文件,IDL文件什么的,使其可以很方便地插入asp页面和其他环境中。
Java 性能评比:
http://www.javalobby.org/features/jpr/
从中可以发现 IBM 的 JDK 性能已经相当接近 C 了 (Java is dangerously close to C performance)