0.1 概述

计算机包括硬件(hardware)软件(software)两部分。

硬件包括计算机中可以看得见的物理部分。

而软件提供看不见的指令。这些指令控制硬件并且使得硬件完成特定的任务。

程序设计

定义:创建(或开发)软件。软件包含了指令,告诉计算机做什么。

应用场景:软件遍布我们周围。除了个人计算机,飞机、汽车,手机甚至烤面包机中,同样运行着软件。

程序设计语言

软件开发人员在称为程序设计语言的强大工具的帮助下创建软件。

如何选择该学习哪种程序设计语言?

  • 程序设计语言有很多种,每种语言都是为了实现某个特定的目的而发明的。
  • 你会困惑哪种语言是最好的。事实上,没有“最好”的语言。每种语言都有它的长处和短处。
  • 经验丰富的程序员知道各种语言擅长的应用场景,因此,会尽可能的掌握各种不同的程序设计语言。
  • 如果你掌握了一种编程语言,应该会更容易上手其他的编程语言。关键是学习如何使用程序设计方法来解决问题。

0.2 计算机硬件介绍

图片说明

冯·诺依曼体系结构

图片说明

冯·诺依曼体系结构是现代计算机的基础,现在大多计算机仍是冯·诺依曼计算机的组织结构,只是作了一些改进而已,并没有从根本上突破冯体系结构的束缚。冯·诺依曼也因此被人们称为“计算机之父”。

中央处理器

中央处理器(Central Processing Unit, CPU)是计算机的大脑。它从内存中获取指令,然后执行这些指令。

包括:控制单元(control unit)和算术/逻辑单元(arithmetic/login unit)。

  • 控制单元:用于控制和协调其他组件的动作。
  • 算术/逻辑单元:用于完成数值运算(+、-、*、/)和逻辑运算(比较)。

每台计算机都有一个内部时钟,该时钟以固定速度发射电子脉冲。时钟速度越快,在给定的时间段内执行的指令就越多。速度的计量单位是赫兹(Hz),1Hz相当于每秒1个脉冲。随着CPU速度不断提高,目前已千兆赫(GHz)来表述。

最初一个CPU只有一个核(core)。核时处理器中实现指令读取和执行的部分。一个多核CPU是一个具有两个或者更多独立核的组件。可提高CPU的处理能力。

IT定律值计算机行业发展规律

  • 摩尔定律(Moore's Law)
  • 安迪-比尔定律(Andy and Bill's Law)
  • 反摩尔定律(Reverse Moore's Law)

存储设备

内存中的信息在断电时会丢失。那我们可以考虑将程序和数据永久的保存在存储设备上。当计算机确实需要这些数据时,再移入内存,因为从内存中读取比从存储设备读取要快得多。

存储设备主要有以下三种:

  • 磁盘驱动器

每台计算机至少有一个磁盘驱动器。硬盘(hard disk)用于永久的保存数据和程序。

  • 光盘驱动器(CD和DVD)
  • USB闪存驱动器

USB:Universal Serial Bus,通用串行总线。

可以使用USB将打印机、数码照相机、鼠标、外部硬盘驱动器连接到计算机上。

USB闪存驱动器很小,可用于存储和传输数据的设备。

内存

比特(bit)和字节(byte)

在讨论内存之前,先清楚数据是如何存储在计算机中的。

计算机就是一系列的电路开关。每个开关存在两种状态:关(off)和开(on)。如果电路是开的,它的值是1。如果电路是关的,它的值是0。

一个0或者一个1存储为一个比特(bit),是计算机中最小的存储单位。

计算机中最基本的存储单元是字节(byte)。每个字节由8个比特构成。

计算机的存储能力是以字节和多字节来衡量的。如下:

  • 千字节(kilobyte, KB)=1024B
  • 兆字节(megabyte, MB)=1024KB
  • 千兆字节(gigabyte, GB)=1024MB
  • 万亿字节(terabyte, TB)=1024GB

内存

内存(也叫Random-Access Memory, RAM):由一个有序的字节序列组成,用于存储程序及程序需要的数据。

一个程序和它的数据在被CPU执行前必须移到计算机的内存中。

每个字节都有一个唯一的地址。使用这个地址确定字节的位置,以便于存储和获取数据。

一个计算机具有的RAM越多,它的运行速度越快,但是此规律是有限制的。

内存与CPU一样,也构建在表面嵌有数百万晶体管的硅半导体芯片上。但内存芯片更简单、更低速、更便宜。

实测发现:内存存取数据的速度比硬盘的存取速度快10倍,在某些环境里,硬盘的内存之间的速度差距可能会更大。而CPU的速度比内存不知还要快多少倍。当我们把程序从硬盘放到内存以后,CPU就直接在内存运行程序,这样比CPU直接在硬盘运行程序就要快很多。

内存解决了一部分CPU运行过快,而硬盘数据存取太慢的问题。提高了我们的电脑的运行速度。内存就如同一条“高速车道“一般,数据由传输速度较慢的硬盘通过这条高速车道传送至CPU进行处理!

但内存是带电存储的(一旦断电数据就会消失),而且容量有限,所以要长时间存储程序或数据就需要使用硬盘。

内存在这里起了两个作用:

  • 保存从硬盘读取的数据,提供给CPU使用
  • 保存CPU的一些临时执行结果,以便CPU下次使用或保存到硬盘

输入和输出设备

常见的输入设备:键盘和鼠标

常见的输出设备:显示器和打印机

显示器的屏幕分别率:显示器设备水平和垂直方向上显示的像素(px)数。

  • 分辨率可以手工设置。
  • 分辨率越高,图像越锐化,越清晰。
  • 像素密度。

通信设备

计算机可以通过通信设备进行联网。

常见的设备有:

  • 拨号调制解调器:使用的是电话线。
  • DSL(数字用户线):使用的也是电话线。
  • 电缆调制解调器
  • 网络接口卡(NIC)
  • 无限网络

0.3 计算机发展史上的鼻祖

  • 图灵
  • 冯·诺依曼

0.4 操作系统

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

硬件 ↔ 操作系统 ↔ 应用程序 ↔用户

操作系统的主要任务:

  • 控制和监视系统的活动
  • 分配和调配系统资源
  • 调度操作

0.5 万维网

万维网(World Wide Web,www,环球信息网)常简称为Web。发明者提姆-伯纳斯-李。

分为Web客户端Web服务器程序。

WWW可以让Web客户端(常用浏览器)访问浏览Web服务器上的页面。是一个由许多互相链接的超文本组成的系统,通过互联网访问。

在这个系统中,每个有用的事物,称为一样“资源”;并且由一个全局“统一资源标识符”(URI)标识;这些资源通过超文本传输协议(Hypertext Transfer Protocol)传送给用户,而后者通过点击链接来获得资源。

万维网是无数个网络站点和网页的集合,它们在一起构成了因特网最主要的部分(因特网也包含电子邮件、Usenet以及新闻组)。它实际上是多媒体的集合,是由超级链接连接而成的。我们通常通过网络浏览器上网观看,就是万维网的内容。

0.6 职业发展与提升

图片说明

0.7 学习经验探讨

  • 锻炼“双核”处理,边听边思考,边做“笔记”
  • 纸上得来终觉浅,绝知此事要躬行!
    • 第一层次:看得懂(依赖于视频、书、帖子)
    • 第二层次:练的熟(每天代码必须实现2-3遍)
    • 总结:三分看,七分练!
  • 建立行之有效的学习方法
    • 学习编程的捷径:敲,狂敲
    • “模仿”好的编码习惯
    • 整理、回顾:每天花30min整理

四种心态

  • 不是“没听懂”,而是“记不住”
  • 要为成功找理由,不为失败找借口
  • 战略上藐视“对手”,战术上重视“对手”
  • “代码虐我千百遍,我视代码如初恋”