引言

程序设计就是创建(开发)软件,软件也成为程序。
软件包含了指令,告诉计算机(或者计算设备)做什么
软件开发人员在称为程序设计语言的强大工具的帮助下创建软件

什么是计算机

一台计算机是由以下几个主要的硬件组件构成的

  • 中央处理器(CPU)
  • 内存(主存)
  • 存储设备
  • 输入设备
  • 输出设备
  • 通信设备
    这些组件通过总线(bus)的子系统连接

中央处理器

每台计算机都有一个内存时钟,该时钟以固定速度发射电子脉冲,用于控制和同步各种操作的步调。时钟速度的计量单位是赫兹Hz,1Hz相当于每秒1个脉冲。
一个多核CPU是一个具有两个或者更多独立核的组件。

比特和字节

计算机中储存信息就是将一系列的开关设置为开或者关。
计算机中字节(byte)是最小的存储单元,每个字节由8个比特bit构成。
计算机的存储能力是以字节和多字节来衡量的。

内存

内存是由一个有序的字节序列组成,用于存储程序及程序需要的数据。
每个字节都有一个唯一的地址。
因为可以按任意顺序读取字节,所以内存也被称为随机访问存储器(Random—Access Memory,RAM)

存储设备

计算机的内存(RAM)是一种易失的数据保存形式:断电时存储在内存中的信息就会丢失。
程序和数据被永久地存放在存储设备上,当计算机确实要使用它们时再移入内存。

编程语言

所有的程序都必须转换成计算机可以执行的指令。

机器语言

计算机的原生语言就是机器语言,即一套内嵌的基本指令集

汇编语言

汇编语言使用短的描述性单词,成为助记符,来表示每一条机器语言指令。
需要汇编器的程序将汇编语言转换为机器代码。
汇编语言被认为是低级语言,因为其本质上非常接近机器语言,并且是机器相关的。用汇编语言写代码需要知道CPU是如何工作的。

高级语言

平台独立的,可以使用高级语言编程,然后在各种不同类型的机器上学习。
高级语言中的指令成为语句。

  • C
    具有汇编语言的强大功能以及高级语言的易学性和可移植性
  • C++
    基于C开发,是一种面向对象程序设计语言
  • C#
    由Microsoft公司开发,面向对象
  • Java
    Sun(被Oracle收购)开发,面向对象,用于开发平台独立的互联网应用程序
  • Python
    简单通用的脚本程序,适合编写小程序

高级语言编写的程序成为源程序或源代码。由于计算机不能运行源程序,其必须被翻译成可执行的机器代码。翻译可以由另外一种解释器或者编译器的编程工具来完成

操作系统

操作系统(Operating System,OS)是运行在计算机上的最重要的程序,可以管理和控制计算机的活动。

  • 控制和见识系统活动
  • 分配和调配系统资源
  • 调度操作

控制和监视系统活动

确保不同的程序和用户同时使用计算机时不会相互干扰,负责安全处理,确保未经授权的用户和程序无权访问系统

分配和调配系统资源

进行资源分配和调配以运行程序

调度工作

  • 多道程序设计
    允许多个程序通过共享一个CPU同时运行,一旦CPU空闲就让别的程序使用
  • 多线程
    允许单个程序同时执行多个任务
  • 多处理
    采用多个处理器来并行运行多个程序

Java、万维网以及其他

Java一开始富有吸引力是因为Java程序可以在Web浏览器中运行。这种能在Web浏览器中运行的Java程序成为Java小程序(applet)。由于安全原因,新版本Java已不允许在Web浏览器中运行applet

Java语言规范、API、JDK、JRE和IDE

  • 计算机语言有严格的使用规范。如果编写程序时没有遵循这些规范,计算机就不能理解程序。
  • 应用程序接口(Application Program Interface)API也成为库,包含了为开发Java程序而预定义的类和接口。
  • JDK由一组独立程序构成,每个程序都是从命令行调用的,用于编译、运行和测试Java程序
  • JRE运行Java的程序
  • IDE快速开发Java程序而提供集成开发环境的软件。编辑、编译、构建、调试和在线帮助都集成在一个图形用户界面中。

一个简单的Java程序


这个家伙很懒,啥也没有留下😋