资料介绍
本文档的主要内容详细介绍的是JAVA教程之面向对象程序设计语言Java的系统环境概述主要内容包括了:1.1 编程语言的发展 ,1.2 网络时代的编程语言——Java,1.3 Java的开发运行环境,1.4 Java程序的运行步骤
编程语言的发展及分类
按计算机系统发展历程分为 机器语言、汇编语言、高级语言以及第四代语言
图1.1 展示了从机器语言发展到面向对象的语言使“语言的鸿沟”变窄的情形。
机器语言
电子计算机是一种机器,这种机器主要由电子元器件构成。对于电子元器件来说,最容易表达的是电流的通/断,或电位的高/低两种状态。因此,在电子计算机问世之初,人们首先想到的是用“0”和“1”两种符号来代表电路的通和断两种状态,这便是最早的编程语言——机器语言。
机器语言是计算机能够理解并直接执行的惟一语言。整个语言只包含“0”和“1”两种符号。用机器语言编写的程序,无论是它的指令、数据还是其存储地址,都是由二进制的“0”和“1”组成的。这种语言离计算机最近,机器能够直接执行它。然而,由“0”和“1”组成的二进制串没有丝毫的形象意义,因此,它离人类的思维最远,“语言的鸿沟”最宽。所以,用机器语言编写程序的效率最低,并且在编写程序时很容易发生错误。
机器语言是二进制代码形式的机器指令集合。
运行效率极高,不直观,重用性差,编写效率低。
汇编语言
为了克服机器语言的缺陷,人们设想用一些易于理解和记忆的符号来代替二进制码,这便是汇编语言。由于汇编语言用符号构成程序,而这些符号表示指令、数据、寄存器、地址等物理概念,因而,使用汇编语言编程在适合人类形象思维的道路上前进了一步。但是,使用汇编语言编写程序时,编程人员依然需要考虑寄存器等大量的机器细节,即汇编语言仍然是一种与具体机器硬件有关的语言,是一种面向机器的语言,因此,人们也把它称为符号化的机器语言。
汇编语言将机器指令进行了符号化,增加了宏、符号地址等功能。
不同指令集的机器有不同的汇编语言,如针对x86处理器的Intel 8088汇编(CISC) 和SPARC V8 (RISC精简指令集) 。
程序重用性低。
高级语言
由于机器语言和汇编语言都离不开具体的机器指令系统,用它们编程时要求程序员必须熟悉所用计算机的硬件特性,因而,用它们编写程序的技术复杂、效率不高,且可维护性和可移植性都很差。为了从根本上摆脱语言对机器的依附,人们经过多年的潜心研究,终于在1956年推出了一种与具体机器指令系统无关、表达方式接近自然语言的计算机语言——FORTRAN语言。在FORTRAN语言程序中,采用了具有一定涵义的数据命名和人们容易理解的执行语句,屏蔽了机器细节,使得人们在书写和阅读程序时可以联系到程序所描述的具体事物。所以,人们把这种“与具体机器指令系统无关,表达方式接近自然语言”的计算机语言称为高级语言。高级语言的出现是编程语言发展史上的一大进步,缩小了编程语言与自然语言之间的鸿沟。
此后,高级语言进一步向体现客观事物的结构和逻辑涵义的方向发展。结构化数据、结构化语句、数据抽象、过程抽象等概念相继提出。以1971年推出的PASCAL为典型代表的结构化程序设计语言,进一步缩小了编程语言和自然语言的距离。在此后的十几年中,结构化程序设计进一步发展成为一门方法学。在20世纪70年代到80年代,各种结构化程序设计语言及方法非常流行,成为当时软件开发设计领域的主流技术。
在结构化程序设计中,把程序概括为如下的公式:
程序=数据结构+算法
其中,数据结构是指利用计算机的离散逻辑来量化表达需要解决的问题,而算法则研究如何高效而快捷地组织解决问题的具体过程。可见,以结构化程序设计为代表的高级语言是一种面向数据/过程的程序设计语言,人们把这类语言也称为面向过程的语言。
面向过程的语言可以精确地用计算机所理解的逻辑来描述和表达待解问题的具体解决过程。然而,它把数据和过程分离为相互独立的实体,使程序中的数据和操作不能有效地组织成与问题域中的具体事物相对应的程序成分,所以它很难把一个具有多种相互关系的复杂事物表述清楚。程序员在编写算法时,必须时刻考虑所要处理问题的数据结构,如果数据结构发生了轻微的变化,处理这些数据的算法也要做相应的修改,甚至完全重写,否则这个算法就不可再用。因而,用这种程序设计方法编写的软件,其重用性较差。为了较好地解决软件的重用性问题,使数据与程序始终保持相容,人们又提出了面向对象的程序设计方法。
- 面向对象程序设计 - 课内实验1(Java语言概述) 1次下载
- JAVA语言程序设计教程之类与对象的基本概念详细概述 0次下载
- JAVA程序设计教程之JSP程序设计实验 6次下载
- Java程序设计语言的资料说明 0次下载
- Java程序设计教程之Java语言的基础知识概述 36次下载
- Java教程之Java面向对象程序设计一维数组的使用 3次下载
- JAVA程序设计教程之Java中系统类的详细资料说明 0次下载
- JAVA程序设计教程之Java语言基础的详细资料说明 0次下载
- Java面向对象程序设计-第9章_网络通信 3次下载
- java类库下载,java类库大全 0次下载
- JAVA程序设计教程课件 193次下载
- JAVA语言与面向对象程序设计课件 43次下载
- JAVA语言与面向对象程序设计电子教案(邓丽强) 83次下载
- java程序设计教程电子教案(附源码) 23次下载
- java程序设计课件 0次下载
- Java中的对象一定在堆中分配吗 290次阅读
- 优化指南:释放Java更高性能 609次阅读
- 怎样配置Java开发环境? 700次阅读
- Java语言有什么特点/优点? 768次阅读
- 如何在Ubuntu 22.04安装Java 5188次阅读
- C语言的简介和特点说明 7499次阅读
- 为什么要学习Java 2648次阅读
- 嵌入式系统编程软件架构的C语言模块化程序设计的概念 5486次阅读
- java常用名词解释大全 1.2w次阅读
- java基础知识点汇总 6103次阅读
- vb语言跟java语言什么区别 3.6w次阅读
- vb语言有哪些优势 3.7w次阅读
- Java编程和c语言哪一种更有优势_C语言与JAVA的区别是什么 2.4w次阅读
- java定时器的几种实现方式以及配置参数的说明 6042次阅读
- lisp能被用来干什么_为什么Lisp没有流行起来 2.8w次阅读
下载排行
本周
- 1东芝BiCD集成电路硅单片TB67S109AFNAG数据手册
- 1.93 MB | 5次下载 | 免费
- 2SP3060A/30120A/30160A/30320A/30520A系列数字合成扫频仪使用说明书
- 4.16 MB | 3次下载 | 1 积分
- 3具有双通道 DC-DC转换器、由串行接口控制的9通道电机驱动器TPIC2010数据表
- 1.15MB | 2次下载 | 免费
- 4USB Type-C PD快充协议智能触发芯片FS312B数据手册
- 0.75 MB | 1次下载 | 免费
- 5USB Type_C PD快充协议智能触发芯片FS8025B数据手册
- 1.29 MB | 1次下载 | 免费
- 6触摸按键PCB 设计要点V01
- 1.42 MB | 1次下载 | 免费
- 7DC-DC电路(Buck)的设计与仿真
- 0.60 MB | 1次下载 | 2 积分
- 85V升压充电两串锂电池充电管理IC FS4058数据手册
- 2.98 MB | 次下载 | 免费
本月
- 1DCDC原理详解
- 0.98 MB | 65次下载 | 免费
- 2allegro快速入门教程
- 1.98 MB | 36次下载 | 免费
- 3FU-7(807)胆机原理图
- 11.93 MB | 25次下载 | 1 积分
- 4用于汽车应用的高压电源管理IC TPS65311-Q1数据表
- 1.05MB | 22次下载 | 免费
- 5电子元件基础知识介绍
- 8.76 MB | 15次下载 | 2 积分
- 6华为海思Ascend 310芯片的资料说明
- 0.12 MB | 10次下载 | 10 积分
- 7GD32F10x系列MCU用户手册
- 11.5MB | 9次下载 | 免费
- 86A 输出电流同步降压稳压器TPS65286数据表
- 2.05MB | 6次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935083次下载 | 免费
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420045次下载 | 免费
- 3Altium DXP2002下载入口
- 未知 | 233067次下载 | 免费
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191308次下载 | 免费
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183308次下载 | 免费
- 6labview8.5下载
- 未知 | 81567次下载 | 免费
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73785次下载 | 免费
- 8NI LabVIEW中实现3D视觉的工具和技术
- 未知 | 70088次下载 | 免费
评论
查看更多