1.1.1 Java与C和C++(www.cppentry.com)的关系
Java与C和C++(www.cppentry.com)直接相关。Java继承了C的语法,Java的对象模型是从C++(www.cppentry.com)改编来的。Java与C和C++(www.cppentry.com)的关系之所以重要,是出于以下几个原因。
第一,许多程序员都熟悉C/C++(www.cppentry.com)语法。这样对于他们而言,学习Java就简单了。同样,Java程序员学习C/C++(www.cppentry.com)也是很简单的。
第二,Java设计者并没有重复工作。相反,他们进一步对已经成功的程序设计范式进行了提炼。现代程序设计始于C,而后过渡到C++(www.cppentry.com),现在则是Java。通过大量的继承,Java提供了一个强大的、可以更好利用已有成果的、逻辑一致的程序设计环境,并且增加了在线环境需求的新功能。然而,最重要的一点或许在于,由于它们的相似性,C、C++(www.cppentry.com)和Java为专业程序员定义了一个统一的概念架构。程序员从其中一种语言转为另一种语言时,不会遇到太大的困难。
C和C++(www.cppentry.com)的核心设计原理之一就是程序员的控制。Java也继承了这一原理。除了Internet环境施加的约束以外,Java为程序员提供了完全的控制。如果程序编得好,就会体现出来,而如果不好,也会体现出来。换句话说,Java并不是一种教学式语言,它是为专业程序员准备的语言。
Java还有一个与C和C++(www.cppentry.com)共有的属性:它是由真正的程序员设计、测试和修改的。它与设计者的需求和经验紧密结合。因此,再没有比这更好的方法来创建如此一流的专业程序设计语言了。
因为Java与C++(www.cppentry.com)的相似性,特别是它们对面向对象程序设计的支持,有些程序员可能会将Java简单地看做"C++(www.cppentry.com)的Internet版"。然而,这种观点是错误的。因为Java在实际应用以及基本原理上与C++(www.cppentry.com)有显著的不同。尽管Java受到C++(www.cppentry.com)的影响,但是它绝不是C++(www.cppentry.com)的增强版。例如,Java不提供对C++(www.cppentry.com)的向上或向下兼容。当然,Java与C++(www.cppentry.com)的相似是十分明显的,如果你是一名C++(www.cppentry.com)程序员,那么在使用Java时会有驾轻就熟的感觉。另外,Java不是为替代C++(www.cppentry.com)而设计的,而是为了解决一系列特定问题而设计的。C++(www.cppentry.com)则是用来解决另一个不同系列的问题的。两者将在未来几年中共存。