计算机发展史
计算机的发展历史有多长?真正意义上的计算机诞生,距今也只有80多年的时间。80年,对于每一个人来说,是很长的时间,但对于整个历史来说,只是短短的一瞬间。
从第一代电子计算机的发明,到今天互联网的蓬勃发展,不得不说是人类文明的一大奇迹。现在希望和大家一起感受这段波澜壮阔的历史进程。
- 史前时代
1642年
科学家帕斯卡(B.Pascal)发明的机械计算机,可用于计算加减法。
1834年
英国数学家查尔斯·巴贝奇设计了分析机,采用打孔纸带作为输入输出方式。
1842年
阿达·洛芙莱斯(Ada Lovelace)发明了第一个计算机程序,用于在分析机上计算伯努利数。她也因此成为了史上第一位程序员。
- 诞生之初
1936年
艾伦·图灵提出了“图灵机”的理论模型,为现代计算机的逻辑工作方式奠定基础。
1937年
阿塔纳索夫-贝瑞计算机(Atanasoff–Berry Computer,简称ABC计算机)问世,它是世界上第一台电子计算机。
1946年
世界上第一台“可编程”计算机ENIAC在美国军方支持下于美国宾夕法尼亚大学诞生。教科书上说它是世界上第一台电子计算机,这是错误的。(实际上ABC计算机是第一)
1949年
世界上第一台“冯·诺依曼体系结构”的计算机EDSAC诞生,它的程序和数据采用同样的存储方式。注意上述的三个“第一”是不一样的概念。
- 蓬勃发展
1956年
在美国达特茅斯会议上,人工智能这个全新的科学领域诞生了。这一年被称为“人工智能元年”。
1957年
约翰·巴克斯发明了第一种高级编程语言Fortran。
1958年
古老的函数式编程语言LISP诞生。
1964年
IBM的大型主机System/360诞生。软件工程著作《人月神话》,就是作者关于System/360操作系统的研发经验所做的提炼总结。
1969年
Unix操作系统于贝尔实验室诞生。
1971年
D.M.Ritchie 发明了C语言。
1974年
世界上第一个网络服务Telenet诞生。
1975年
比尔·盖茨与保罗·艾伦创办微软于1975年
1976年
史蒂夫·乔布斯、斯蒂夫·沃兹尼亚克和罗·韦恩(Ron Wayne)等人于1976年创立苹果公司
1981年
微软公司发布DOS操作系统,它是单用户单任务的个人电脑操作系统。
1983年
贝尔实验室发布了C++语言,它是C语言的继承者。
1985年
微软公司发布Windos操作系统1.0。
- 互联网时代
1989年
蒂姆·伯纳斯·李 发明了万维网,英文缩写是WWW。
1991年
Linux操作系统问世。
Guido van Rossum 发明了 Python 语言。
1994年
网景公司的Mosaic浏览器发布。
著名门户网站 雅虎 诞生。
1995年
詹姆斯·高斯林 发明了Java语言。
1998年
全球最大搜索引擎公司Google诞生。
2002年
微软发布 .Net Framework 1.0。
2003年
社交网站Facebook诞生。
2009年
中本聪发明比特币,开启了区块链技术的先河。
Go语言问世。
2011年
张小龙的微信诞生。
2016年
谷歌公司的AlphaGo打败了全球顶尖围棋选手。
2017年
AlphaGo Zero 以100:0击败 AlphaGo。
前言及常见dos命令
0. 概述:
计算机包括硬件(hardware)和软件(software)两部分。硬件包括计算机中
可以看得见的物理部分。而软件提供看不见的指令。这些指令控制硬件并且
使得硬件完成特定的任务。
程序设计:
定义:创建(或开发)软件。软件包含了指令,告诉计算机做什么。
应用场景:软件遍布我们周围。除了个人计算机,飞机、汽车、手机甚至烤面>包机中,同样运行着软件。
程序设计语言:
软件开发人员在称为程序设计语言的强大工具的帮助下创建软件。
如何选择该学习哪种程序设计语言?
程序设计语言有很多种,每种语言都是为了实现某个特定的目的而发明的。
你会困惑哪种语言是最好的。事实上,没有“最好”的语言。每种语言都有它
的长处和短处。
经验丰富的程序员知道各种语言擅长的应用场景,因此,会尽可能的掌握各>种不同的程序设计语言。
如果你掌握了一种编程语言,应该会更容易上手其它的编程语言。关键是学>习如何使用程序设计方法来解决问题。这也是本套课程的主旨。
1. 计算机硬件介绍
冯.诺依曼体系结构是现代计算机的基础,现在大多计算机仍是冯.诺依曼计算机的组织结构,只是作了一些改进而已,并没有从根本上突破冯体系结构的束缚。冯.诺依曼也因此被人们称为“计算机之父”。
1.1*处理器
*处理器(Central Processing Unit,CPU)是计算机的大脑。它从内存中获取指令,然后执行这些指令。
包括:控制单元(control unit)和算术/逻辑单元(arithmetic/login unit)。控制单元:用于控制和协调其他组件的动作。
算术/逻辑单元:用于完成数值运算(+、-、*、/)和逻辑运算(比较)。
每台计算机都有一个内部时钟,该时钟以固定速度发射电子脉冲。时钟速度越快,在给定的时间段内执行的指令就越多。速度的计量单位是赫兹(Hz),1Hz相当于每秒1个脉冲。随着CPU速度不断提高,目前以千兆赫(GHz)来表述。
最初一个CPU只有一个核(core)。核是处理器中实现指令读取和执行的部分。一个多核CPU是一个具有两个或者更多独立核的组件。可提高CPU的处理能力。
1.2比特(bit)和字节(byte)
在讨论内存前,先清楚数据是如何存储在计算机中的。
计算机就是一系列的电路开关。每个开关存在两种状态:关(off)和开(on)。如果电路是开的,它的值是1。如果电路是关的,它的值是0。
一个0或者一个1存储为一个比特(bit)。
计算机中字节(byte)是最基本的存储单元。每个字节由8个比特构成。
计算机的存储能力是以字节和多字节来衡量的。如下:
- 千字节(kilobyte,KB) = 1024B
- 兆字节(megabyte,MB) = 1024KB
- 千兆字节(gigabyte,GB) = 1024MB
- 万亿字节(terabyte,TB) = 1024GB
1.3内存
内存(也叫 Random-Access Memory,RAM):由一个有序的字节序列组成,用于存储程序及程序需要的数据。
一个程序和它的数据在被CPU执行前必须移到计算机的内存中。
每个字节都有一个唯一的地址。见右图。使用这个地址确定字节的位置,以便于存储和获取数据。
一个计算机具有的RAM越多,它的运行速度越快,但是此规律是有限制的。
内存与CPU一样,也构建在表面嵌有数百万晶体管的硅半导体芯片上。但内存芯片更简单、更低速、更便宜。
1.4存储设备
内存中的信息在断电时会丢失。那我们可以考虑将程序和数据永久的保存在存储设备上。当计算机确实需要这些数据时,再移入内存,因为从内存中读取比从存储设备读取要快得多。
存储设备主要有以下三种:
- 磁盘驱动器
每台计算机至少有一个硬盘驱动器。硬盘(hard disk)用于永久的
保存数据和程序。 - 光盘驱动器(CD和DVD)
CD的容量可达700MB。
DVD的容量可达4.7GB。 - USB闪存驱动器
USB: Universal Serial Bus,通用串行总线。
可以使用USB将打印机、数码相机、鼠标、外部硬盘驱动器连接到
计算机上。
USB闪存驱动器很小,可用于存储和传输数据的设备。
1.5输入和输出设备
常见的输入设备:键盘(keyboard)和鼠标(mouse)
常见的输出设备:显示器(monitor)和打印机(printer)
显示器屏幕分辨率:是指显示设备水平和垂直方向上显示的像素数。
分辨率可以手工设置。分辨率越高,图像越锐化、越清晰。
1.6通信设备
计算机可以通过通信设备进行联网。
常见的设备有:
- 拨号调制解调器:使用的是电话线,传输速度可达56 000bps(bps:每秒比特)
- DSL(数字用户线):使用的也是电话线,但传输速度叫上面的快20倍
- 电缆调制解调器:利用有线电视电缆进行数据传输,通常速度比DSL快。
- 网络接口卡(NIC):将计算机接入局域网(LAN)的设备。局域网通常用于大学、商业组织和*组织。速度甚至可达1000Mbps
- 无线网络:在家庭、商业和学校中极其常见。计算机可通过无线适配器连接到局域网或internet上。
2. 计算机发展史上的鼻祖
根据冯诺依曼体系结构构成的计算机,必须具有如下功能:
- 把需要的程序和数据送至计算机中。
- 必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。
- 能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。
- 能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。
- 能够按照要求将处理结果输出给用户。
3. 操作系统
操作系统(Operating System)是运行在计算机上的最重要的程序,它可以管理和控制计算机的活动。
硬件、操作系统、应用软件和用户之间的关系如右图。
操作系统的主要任务:
控制和监视系统的活动
分配和调配系统资源
调度操作
4. 万维网
万维网(World Wide Web,www)是从世界上任何地方的Internet都可以访问的电子信息宝库。Internet作为万维网的基础架构已经问世四十多年。丰富多彩的万维网和设计精良的Web浏览器是Internet流行的主要原因。
Java一开始富有吸引力是因为Java程序可以在Web浏览器中运行。这些java程序被称为java小程序(applet)。applet使用现代的图形用户界面与Web用户进行交互。 applet内嵌在HTML代码中。
5. 软件开发介绍
软件开发
软件,即一系列按照特定顺序组织的计算机数据和指令
的集合。有系统软件和应用软件之分。
人机交互方式
图形化界面(Graphical User Interface GUI)这种方
式简单直观,使用者易于接受,容易上手操作。
命令行方式(Command Line Interface CLI):需要
有一个控制台,输入特定的指令,让计算机完成
一些操作。较为麻烦,需要记录住一些命令。
6. 常用的DOS命令(在Windows系统按win+R输入cmd命令进入)
dir : 列出当前目录下的文件以及文件夹
dir xxx>test.txt 输出xxx到test.txt文件里
md : 创建目录
rd : 删除目录
cd : 进入指定目录
cd .. : 退回到上一级目录
cd : 退回到根目录
del : 删除文件
exit : 退出 dos 命令行
补充:echo javase>1.doc 输出javase到1.doc文件里
常用快捷键
← →:移动光标
↑ ↓:调阅历史操作命令
Delete和Backspace:删除字符
7. 计算机编程语言介绍
什么是计算机语言
语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话>沟通。而中国人要和英国人交流,就要学习英语。
计算机语言:人与计算机交流的方式。
如果人要与计算机交流,那么就要学习计算机语言。
计算机语言有很多种。如:C ,C++ ,Java ,PHP , Kotlin等。
第三代语言:高级语言
C、Pascal、Fortran面向过程的语言
C++面向过程/面向对象
Java跨平台的纯面向对象的语言
.NET跨语言的平台
什么是JAVA
https://www.tiobe.com/tiobe-index/
8. 编程方法
- 锻炼“双核”处理,边听讲思考,边做“笔记”
- 纸上得来终觉浅,绝知此事要躬行!
- 不要完全依赖于书和视频
- 三分看,七分练
- 建立行之有效的学习方法
- 学习编程的捷径--敲,狂敲
- 学习编程的规范--加注释
- “模仿”好的编码习惯