- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
江西师范大学·计算机信息工程学院·计算机科学系;;1.1 程序的含义和程序设计策略
包括程序的含义、程序设计的通用策略
1.2 程序设计语言重要属性
包括语言的范型、类型系统、编译和解释
1.3 Java语言概述
含产生、发展、特点、IDE环境、运行原理等
;1.1 程序的含义
program:计划;programming:做计划
计算机程序有自己的特点
计算机程序的定义:
计算任务的处理对象和处理规则的描述。
;1.1.2 程序设计的通用策略
经千百年锤炼出的策略,如:
理清思路、掌控主次;
先抓主要矛盾,再抓次要矛盾;
先定纲要,再写内容。
计算机程序开发经典策略:自顶向下逐步求精
由瑞士学者Nicklaus Wirth于1971年提出;
要点:编制程序应先列纲要,逐步细化。
;自顶向下逐步求精示例1: 组织一场运动会;自顶向下逐步求精 示例2:有序数组插入元素;1.1.3 运行程序的两种基本方式
编译方式:编:编辑(优化),译:翻译
做法:编译器将全部源码一次性翻译成二进制码
语言:C/C++、Pascal/Delphi、……
优点:能提高代码质量、程序执行速度快
缺点:程序运行期间,程序员无法干预
;1.1.3 运行程序的两种基本方式
解释方式:解释器类似翻译人员
做法:用解释器将源代码逐句翻译源码,逐句执行;
语言:Basic/VB、Java、C#、JSP、XML、……
优点:能监控程序执行,可通过在解释器/虚拟机中新增机制或模拟硬件,提供更多高级语言机制;
缺点:代码很难优化(为什么?)、程序执行速度慢
;1. 语言的设计范型
注:实质为程序设计范型。语言中设定哪些基本成分,主要源于支持何种程序设计范型。
2. 类型系统
数据类型是刻画数据及针对数据的基本操作的模型。好的模型,有助于简洁清晰地表达计算。因此类型系统是程序设计语言的核心成分。;1.2.1 语言的设计范型
计算是计算机最核心任务。语言的设计范型就是如何看待计算,这是描述计算的前提和基础。;1.2.1 语言的设计范型
四种主流的程序设计范型(区分关键在于看待计算的角度不同)。
命令式范型:计算就是用指令去修改数据;
过程式范型、结构式范型均隶属于命令式范型。
面向对象式范型:计算就是对象间的互操作;
函数式范型:计算就是对数学函数的求解;
逻辑式范型:计算是为做出逻辑判定而进行的推理。;1.2.2 类型系统
类型系统是语言中描述数据的基本机制,涉及:
数据如何分类(大类)和新类型如何构造;
类型的易用性和安全性(强类型和弱类型、静态语言和动态语言);1.2.2 类型系统
分类和构造
分类策略:基本类型+新类型构造机制
Java大类:基本型、引用型(类、接口、数组)
注意:
基本类型对应最基本数据,且类型不能太多;
为更高效,基本类型常用汇编、C等设计;
类型构造机制应易用且安全。
—— 简单比较C和Java的类型系统;1.2.2 类型系统
强类型语言和弱类型语言
“强”是指类型检查严格;如 if ( i=5 )
类型检查与自动类型转换密切相关。强类型语言要求:转换后数据无损 + 转换前后类型的语义要相容。
强类型语言,常见的有Pascal、Java、C#等;
弱类型语言,常见的有C、VB、Python等。 ;1.2.2 类型系统
静态语言和动态语言
静态:与编译器相关;动态:与运行时相关。
静态语言要求类型静态绑定,动态语言要求类型动态绑定,即运行时的不同时刻变量可以拥有不同的类型。
静态语言: C、Pascal、C++、Java、C#
动态语言: VB、Python ;Java语言的诞生和发展
Java语言的特点
Java编程环境
Java程序的运行原理;1.3.1 Java语言的诞生和发展
1990年12月,Sun让Gosling负责基于C++开发智能家电(如微波炉、PDA、电视机顶盒)项目。
后发现问题:
嵌入式设备资源有限 VS C++程序太过复杂、庞大;
芯片将嵌入不同硬件 VS C++程序难跨平台。
(不同硬件平台的处理芯片大多不同)
解决策略:依托C++,参照SmallTalk、Ada,设计出小巧、够用、能跨平台的新语言。
1992年Oak诞生,因重名于1995年更名为Java。;1.3.1 Java语言的诞生和发展
Oak新出,市场不成熟,大单被拒,被搁置;
1993年,Internet迅猛发展为Java带来机遇:
网络环境是多种软硬件平台共存的异构环境,因此需要能够支持跨平台的编程语言;
当时网速很小,不支持体积庞大的网络程序。
上述要求与嵌入式平台的要求何其相像!
调整Oak并新增Applet以及可运行Applet程序的浏览器HotJava。动态网页的魅力引起了轰动。
1995年
文档评论(0)