《计算机与计算机科学》摘录笔记

《计算机与计算机科学》摘录笔记

书籍地址,感谢分享程序员

  1. 一台数字机不是单一的机器,而是由五个不一样的要素组成的系统:1.中央处理器;2.输入设备;3.存储设备;4.输出设备;5.被称为总线的通讯网络,它将全部要素链接起来并将系统和外界链接起来;数据库

  2. 存储器指存储信息供中央处理器快速检索的计算机芯片。随机存储器(RAM)用来存储操做计算机程序的信息和指令。一般,程序由磁盘驱动器的存储区调到随机存储器中。随机存储器也称做易失性存储器,由于当计算机的电源关闭时,计算机芯片中的信息随着丢失。只读存储器(ROM)必须永久性可供计算机操做使用的关键信息和软件,如从开机到关机一直指挥计算机运行的操做系统。只读存储器叫作非易失性存储器,由于当计算机的电源关闭时,存储芯片中的信息不会丢。编程

  3. 编程语言可分为低级语言和高级语言。低级编程语言或机器语言,是编程语言中最基础的类型,能够被计算机直接理解。机器语言视计算机制造商与型号不一样而有所区别。高级语言是必须首先翻译成机器语言计算机才能理解和处理的编程语言。C、C++、PASCAL和FORTRAN都是高级语言的例子。汇编语言是中级语言,很是接近于机器语言,没有其余高级语言所表现出的语言复杂程度,但仍然须要翻译成机器语言。数组

  4. 一条典型的机器语言指令可能写成 10010 1100 1011,意思是把存储寄存器A的内容加到存储寄存器B的内容中。安全

  5. 在面向对象语言中,用来编写程序的代码和由程序处理的数据,组合成叫作对象的单元。对象进一步组合成类,而类则定义对象必须具备的属性。类的一个简单例子就是书这个类。这个类中的对象多是小说和短篇小说。对象还有某些与其相关的功能,称为方法。计算机经过使用一个对象的某种方法来访问该对象。方法对对象中的数据执行某种操做,而后将值返回给计算机。对象的类也可进一步组合成层,而在层中一个类的对象可继承另外一个类的方法。面向对象语言提供的这种结构,使该语言对于复杂的编程任务很是有用。 ====》举例,以后写代码,把对象用到的属性和方法写到最外边的对象上,赋值为空,说明这个方法和属性,方便查看;服务器

  6. 数据声明语句给称为变量的那些程序元素以名称和属性。变量在程序中能够赋予不一样的值。变量能够具备的属性称为类型,它们包括:变量中能保存哪些可能的值;这些值中使用何种程度的数值精度;以及一个变量能够如何以有组织结构的方式------如以表或数组的形式——表示一组比较简单的值。在许多编程语言中,一个关键的数据类型是指针。指针变量自己没有值,而是含有计算机能够用来查找某个其余变量的信息——也就是说,它们指向另外一个变量。网络

  7. 表达式是语句的一段,用于描述要对一些程序变量执行的一系列计算操做,如 X+Y/Z,其中X、Y和Z为变量,加法和除法是计算操做。赋值语句给一个变量赋予得自某个表达式的值,而条件语句则指定要被测试、而后用于选择接下来应该执行的其余语句的表达。编程语言

  8. 过程和函数语句将某些代码块定义为之后可在程序中回调的过程或函数。这些语句也定义程序员可选的变量和参数种类,以及当表达式访问过程或函数时代码所返回的值的类型。许多编程语言也允许叫作宏的小翻译程序。宏将那些用程序员定义的语言结构编写的代码段翻译成编程语言能够理解的语句。分布式

  9. 计算机程序是指挥计算机执行某种处理功能或功能组合的一套指令。函数

  10. 将源代码翻译成目标代码的应用程序有3种:编译程序、解释程序和汇编程序。这3种应用程序有不一样的操做方式,对不一样类型的编程语言进行操做,可是,它们都要达到将编程语言翻译成机器语言的相同目的。

  11. 编译程序将使用FORTRAN、C和Pascal等高级编程语言编写的文本文件一次性从源代码翻译成目标代码。这不一样于BASIC等解释执行的语言所采起的方式。在解释执行的语言中,程序是随着每条指令的执行而逐个语句地翻译成目标代码的。解释执行的语言的优势是,它们能够当即开始执行程序,而不须要等到全部的源代码都获得编译。对程序的更改也能够至关快地进行,无需等到程序从新编译完。解释执行的语言的缺点是,它们执行起来慢,由于每次运行程序,都必须对整个程序一次一条指令地翻译。另外一方面,编译执行的语言只编译一次,所以计算机执行起来可比解释执行的语言快得多。因为这个缘由,编译执行的语言比解释执行的语言经常使用,并且,在专业和科学领域几乎老是应用编译执行的语言。

  12. 另外一种翻译程序是汇编程序,它用于以汇编语言编写的程序或程序组成部分。汇编语言也是一种编程语言,但它远比其余类型的高级语言相似于机器语言。在汇编语言中,一个语句一般能够翻译成机器语言的一条指令。今天,汇编语言不多用来编写整个程序,而是最经常使用于程序员须要直接控制计算机某方面功能的状况。

  13. 并行运算

致力于并行计算领域研究的计算机科学家们,推出了许多新的程序模型。在并行计算中,多个中央处理器同时合做处理同一个问题。一个问题的组成部分由不一样的处理器同时处理,这样就加快了问题的解决速度。因为并行处理计算机的极端复杂性,以及使其尽量有效地运行所包含的困难,为这种系统设计程序的科学家和工程师面临着许多挑战。 一种称为分布式计算的并行计算,使用多个互连计算机的中央处理器来解决问题。用来在分布式计算应用环境下处理信息的计算机,经常经过因特网链接。因特网的应用正在成为分布式计算的一种特别有用的形式,尤为是在使用Java等编程语言的状况下。在这种应用中,用户登陆到一个站点,并下载一个Java程序到其计算机上。该Java程序运行时,就会与其所来自的站点上的其余程序通讯,也能够与不一样计算机或站点上运行的其余程序通信。

  1. 软件开发的瀑布模型

  2. 因为使用实现技巧规避了设计问题,这也可能致使不良的系统结构。

  3. 演化开发

演化开发基于这样的思想:开发一个初始的实现,让其接受用户评论,并让其通过多个版本的改进,一直到开发出可以知足须要的系统(图5A-2)。规格说明、开发及验证活动不是分开进行,而是交叉进行,各项活动之间有快速的信息反馈。

一种是探索式开发。在这种类型中,过程的目标是与客户协做探索其需求,并交付一个最终的系统。

  1. 组件开发

18. 分布式的数据模型

分布式的数据模型能够将不一样的数据库访问请求分开在不一样的服务器上; 分布式数据库模型并不是一种新模型,而是基于关系模型的。可是,数据存储在经过因特网或用广域网通讯的数台计算机上。每台计算机(或站点)保持数据库的一部分或整个数据库。换句话说,数据或者是分段存储的——每一个站点存储一段,或者被每一个站点复制一份。在分段型分布式数据库中,数据是本地化的,本地使用的数据存储在相应的站点上。然而,这并不意味着一个站点不能访问存储在另外一个站点上的数据,但访问大可能是本地性的,偶尔是全局性的。虽然每一个站点对其本地数据具备彻底的控制,但也存在经过因特网或广域网的全局控制。例如,一家制药公司可能在许多国家拥有多个站点。每一个站点有一个数据库,存储着本身雇员的信息。可是,中心人事部门能够控制全部的数据。 拥有这种数据库是为了安全,若是一个站点上的系统发生故障,该站点的用户能够访问另外一个站点上的数据。