您的位置:首页 > 编程语言 > Java开发

JAVA菜鸟入门篇-JAVA发展历史

2015-01-03 06:53 274 查看
再次郑重申明,本人纯属个人学习总结,如有感兴趣的朋友可以一起学习。

计算机语言发展历史:第一代(机器语言)、第二代(汇编语言)和第三代(面向过程和面向对象)。面向过程主要包括:C、Fortran、COBOL、PASCAL、ADA等,面向对象主要包括:C++、JAVA、C#等,计算机语言基本思路是沿着程序员越来越容易理解、思考的方向发展的。

机器语言:是用二进制代码表示的计算机能直接识别和执行的一种机器指指令系统令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。机器语言由0和1组成的,对于人类来说,机器语言过于繁琐。机器语言

汇编语言:汇编语言(Assembly Language)是面向机器的程序设计语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,如此就增强了程序的可读性并且降低了编写难度,像这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器(即汇编器)转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。因此,有时候人们也把汇编语言称为组合语言。

第三代语言:

1)面向过程语言:是一种以事件为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

2)面向对象语言:面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

比如:我要驾车出去旅游,面向过程的设计可能会是,把汽车启动的全部的过程都封装成一个方法,只需要给你一把钥匙就够啦,我们就能很清楚的看到,它的缺点就是如果方法出现问题啦,无从下手。

而面向对象的设计思想是把汽车的每一个部件抽象成一个一个的类,在调用的时候只需要直接调用其中封装的方法就可以啦,这种做法的好处就是能够很快的找到出现问题的地方,不需要大范围的甚至全部重写。

接下来我们主要看看JAVA语言的发展史:


JAVA语言的优势在于:

简单、面向对象、与平台无关、可移植性、鲁棒、解释型语言、多线程以及动态性和安全性。

简单体现在:Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。如果你学习过 C++语言,你会感觉 Java很眼熟,因为 Java中许多基本语句的语法和 C++一样,像常用的循环语句,控制语句等和 C++几乎一样,但不要误解为 Java 是 C++的增强版,Java
和 C++是两种完全不同的语言,他们各有各的优势,将会长期并存下去,Java 语言和 C++语言已成为软件开发者应当掌握的语言。如果从语言的简单性方面看,Java要比 C++简单,C++中许多容易混淆的概念,或者被Java弃之不用了,或者以一种更清楚更容易理解的方式实现,例如,Java不再有指针的概念。

面向对象:基于对象的编程更符合人的思维模式,使人们更容易编写程序。在实际生活中,我们每时每刻都与对象在打交道。我们用的钢笔,骑的自行车,乘的公共汽车等,都可以封装成一个一个的对象,Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。

与平台无关:与平台无关是 Java 语言最大的优势。其它语言编写的程序面临的一个主要问题是 操作系统的变化,处理器升级以及核心系统资源的变化,都可能导致程序出现错误或无法运行。Java的虚拟机成功地解决了这个问题,Java编写的程序可以在任何安装了 Java虚拟机 JVM 的计算机上正确的运行,Sun公司实现了自己的目标 “一次写成,处处运行”。

可移植性:与平台无关的特性使Java程序可以方便地移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C语言实现,这使得Java系统本身也具有可移植性。

鲁棒性:Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。在编译时,通过集成的面向对象的异常处理机制,Java提示出可能出现但未被处理的异常,帮助程序员正确地进行选择以防止系统的崩溃。另外,Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。

解释型语言:Java解释器直接对Java字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更加简单。可以实现 “一次写成,处处运行”,准备来说是半解释型半编译型语言。

多线程:Java特点之一就是内置对多线程的支持。多线程允许同时完成多个任务。多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。实际上多线程使人产生多个任务在同时执行的错觉,因为,目前的计算机的处理器在同一时刻只能执行一个线程,但处理器可以在不同的线程之间快速地切换,由于处理器速度非常快,远远超过了人接收信息的速度,所以给人的感觉好象多个任务在同时执行。C++没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序的设计。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上的实时交互行为。

动态性:Java 程序的基本组成单元就是类,而类又是运行时动态装载的,这就使得 Java 可以在分布环境中动态地维护程序及类库,而不像 C++那样,每当其类库升级之后,相应的程序都必须重新修改,编译。Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。

安全性:用于网络、分布环境下的Java必须防止病毒的入侵。Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。



文章对于JAVA优势资源来自:
http://jingyan.baidu.com/article/0bc808fc922cfb1bd485b9ef.html http://wenku.baidu.com/link?url=65OnwN8wq8N4Jr3fgc4ck6zEVBsQNyPZakLvE1DwqNeL-kzZYXz4Y9UCXpc68I_WFLZjbFA4vau_M-nvXXoS4BLaY_Qyv2iQBZqdDuADDQG
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: