第09章平台无关语言 使用平台无关语言的需求 脚本语言 Java语言
第09章 平台无关语言 • 使用平台无关语言的需求 • 脚本语言 • Java语言
91使用平台无关语言的需求 高级程序设计语言本应是平台无关的 在高级语言中,数据、控制流等都是抽象的。 源程序经过编译生成的目标码是与本地机紧密相关 的。表现在: 基本类型定义与及其字长相关; ·各机指令集不一,操作效果相当,实现过程有微小的差别: 同一语言在相同编译和执行环境下,同一程序执行速度不 (硬件差异,优化次数); 已采用增加可移植手段。 设预定义环境(包)—Ada 分出头文件-宏-编译文件C
9.1 使用平台无关语言的需求 • 高级程序设计语言本应是平台无关的 – 在高级语言中,数据、控制流等都是抽象的。 – 源程序经过编译生成的目标码是与本地机紧密相关 的。表现在: • 基本类型定义与及其字长相关; • 各机指令集不一,操作效果相当,实现过程有微小的差别; • 同一语言在相同编译和执行环境下,同一程序执行速度不 一(硬件差异,优化次数); – 已采用增加可移植手段。 • 设预定义环境(包)——Ada; • 分出头文件 - 宏 - 编译文件——C;
单主机时代,需要解决的主要问题是高 级语言程序可移植性,以减少应用程序 的开发费用,缩短开发周期。这时对平 台无关性的要求不是十分迫切
• 单主机时代,需要解决的主要问题是高 级语言程序可移植性,以减少应用程序 的开发费用,缩短开发周期。这时对平 台无关性的要求不是十分迫切
局域网时代,需要在局域网内实现信息 共享,有协作计算需求。 网络协议栈实现了数据的平台无关; 以文件共享形式实现; 客户/服务器模式,程序可以不共享 只要局域网内使用相同或相互兼容的平台, 也可以实现程序的共享
• 局域网时代,需要在局域网内实现信息 共享,有协作计算需求。 – 网络协议栈实现了数据的平台无关; – 以文件共享形式实现; – 客户/服务器模式,程序可以不共享; – 只要局域网内使用相同或相互兼容的平台, 也可以实现程序的共享
Internet时代,对资源共享提出了新的要求: 局域网的规模和结构是可控制的;但是,没有任何个人 和机构可以控制 Internet的构成。 Internet/ nt ranet'包含各 种类型计算机,是资源共享的平台。不论用户使用的是 什么类型的计算机和操作系统,都可以浏览网络上的信 息,使用网络中的资源。 WWW( World wide Web)是 Internet上最广泛的信息发布 浏览方式。与FTP等以往的方式相比较,WWW具有较强 的动态性和交互性,需要完成复杂的应用(如电子商务 等)因此,共享资源不但包括数据,也应包括程序。这 就需要一种平台无关的语言。 激烈的竞争迫使软件生产者不断降低开发成本,缩短开 发周期。平台无关语言使开发者不需要为一个软件开发 多个操作系统的版本,减少了开发费用和时间
• Internet时代,对资源共享提出了新的要求: – 局域网的规模和结构是可控制的;但是,没有任何个人 和机构可以控制Internet的构成。 Internet/Intranet包含各 种类型计算机,是资源共享的平台。不论用户使用的是 什么类型的计算机和操作系统,都可以浏览网络上的信 息,使用网络中的资源。 – WWW(World Wide Web)是Internet上最广泛的信息发布/ 浏览方式。与FTP等以往的方式相比较,WWW具有较强 的动态性和交互性,需要完成复杂的应用(如电子商务 等)因此,共享资源不但包括数据,也应包括程序。这 就需要一种平台无关的语言。 – 激烈的竞争迫使软件生产者不断降低开发成本,缩短开 发周期。平台无关语言使开发者不需要为一个软件开发 多个操作系统的版本,减少了开发费用和时间
平台无关语言的实现: 传送源代码将源代码传送到目标机,先经过编译,生成 目标机代码,再执行。前提是必须有不同平台的编译器, 这种情况往往在编译时缺乏源代码原有的环境信息(全 程量),且只能先编译存入目标码再运行。局域网时代 服务器已经做过了。要实时运行只能是解释(也要求有 完整的信息)型语言。 传送目标代码只有在相同或相互兼容的平台之间才可以 实现。如在 Windows nt9X组成的局域网中,可以在一台 机器上调用执行其它机器上的应用程序 传送中间代码中间代码由源代码经过编译生成。中间代 码经过优化。中间代码传送到目标机上由解释器解释执 行。Java语言使用的是这种方式
• 平台无关语言的实现: – 传送源代码 将源代码传送到目标机,先经过编译,生成 目标机代码,再执行。前提是必须有不同平台的编译器, 这种情况往往在编译时缺乏源代码原有的环境信息(全 程量),且只能先编译存入目标码再运行。局域网时代 服务器已经做过了。要实时运行只能是解释(也要求有 完整的信息)型语言。 – 传送目标代码 只有在相同或相互兼容的平台之间才可以 实现。如在Windows NT/9x组成的局域网中,可以在一台 机器上调用执行其它机器上的应用程序。 – 传送中间代码 中间代码由源代码经过编译生成。中间代 码经过优化。中间代码传送到目标机上由解释器解释执 行。Java语言使用的是这种方式
92脚本语言 脚本语言的概述: 描述性语言(4GL); 直接解释执行; 操作系统界面语言的扩大—泛 shell; 辅助开发(不是设计,但引用内部过程、函 数、对象);
9.2 脚本语言 • 脚本语言的概述: – 描述性语言(4GL); – 直接解释执行; – 操作系统界面语言的扩大——泛shell; – 辅助开发(不是设计,但引用内部过程、函 数、对象);
常见的脚本语言有: 页面描述类: TELEX、 Postscript、HTML ⅤPML 场景描述类: JavaScript、 VBScript/ActiveX 脚本、 LotusScript(Lous公司的 Notes群件产 品中的脚本语言)
• 常见的脚本语言有: – 页面描述类:TELEX、Postscript、HTML、 VPML; – 场景描述类:JavaScript、VBScript/ActiveX 脚本、LotusScript(Lotus公司的Notes群件产 品中的脚本语言)
9. 2. 1 HTML(Hyper-Text Markup language) 用于描述Web主页,为所有OS上的浏览器所识 设计编排多媒体主页(包括正文字体、图形 动画) 以超文本方式使用,可以链接任何网址上的各 种多媒体文档,包括普通正文、HTML文档、 GI图形、TIFF图形;XBM位图、JPEG图形 Postscript坟件、AIFF声音、AU声音、 QuickTime影片、MPEG影片
9.2.1 HTML(Hyper-Text Markup Language) • 用于描述Web主页,为所有OS上的浏览器所识; • 设计编排多媒体主页(包括正文字体、图形、 动画); • 以超文本方式使用,可以链接任何网址上的各 种多媒体文档,包括普通正文、HTML文档、 GIF图形、TIFF图形;XBM位图、JPEG图形、 Postscript文件、AIFF声音、AU声音、 QuickTime影片、MPEG影片;
标签。以尖括号括出的成对或单个标签给出页 面编排信息。 文档编排、引用描述: 一个HTML文档 文档简介信息 文档内容标题 A HREF=“被链接文件URL>链接名第i层编排 由此换行产生一个视窗宽度的水平分行符
• 标签。以尖括号括出的成对或单个标签给出页 面编排信息。 – 文档编排、引用描述: 一个HTML文档 文档简介信息 文档内容 标题 链接名 第i层编排 此前为一段 由此换行 产生一个视窗宽度的水平分行符