计算机科学速成课【学习笔记】(1)——计算机早期历史

本集课程B站链接:

【计算机科学速成课】[40集全/精校] - Crash Course Computer Science_哔哩哔哩_bilibili【计算机科学速成课】[40集全/精校] - Crash Course Computer Science共计40条视频,包括:1. 计算机早期历史-Early Computing、2. 电子计算机-Electronic Computing、3. 布尔逻辑 和 逻辑门-Boolean Logic & Logic Gates等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1EW411u7th/?spm_id_from=333.337.search-card.all.click&vd_source=efc1c9272504933e74aad03c1db8271e

一、简易装置阶段

        1、 算盘(板)

        公认最早的计算设备是美索不达米亚文明发明于公元前2500年算盘(视频课中介绍是算盘),根据课中的介绍,每层的珠子代表10的不同次方(如图一),比如第一层的每个珠子代表10的0次方(即1个物体),第二次的每个珠子代表10的1次方(即10个物体),以此类推。由此可见这只是一个计数工具,与我国的算盘并不是一个东西。我国的算盘仍为世界各种古算盘中最先进的珠算工具(骄傲)。图二为我国的算盘与美索不达米亚的算板。

56968d10eaad428e9e5e4d40e1d1d468.png

图一

c54f9a40f12a4b64a06ae03bcedc4d21.png

图二 

        2、星盘

        星盘是古代天文学家、航海家等用来进行天文测量的一种重要的天文仪器。用途非常广泛,包括定位和预测太阳、月亮、金星、火星相关天体在宇宙中的位置,确定本地时间和经纬度,三角测距等。

        3、计算尺

        计算尺,即对数计算尺,是一种模拟计算机,通常由三个互相锁定的有刻度的长条和一个滑动窗口(称为游标)组成,在1970年代之前使用广泛。

7305dc2511de4b90bbb7d50b77fad381.png

        在这期间还有上百种时钟,用来计时、算日出、潮汐、天体位置等。这些设备让原本费力的事情变得更快、更简单、更精确。

二、机器阶段

        “computer(计算机) ”一词最早出现在公元1613年的一本书中,但当时在书中指的不是机器而是一种职业,指的是负责计算的人,这种职位一直延续到19世纪,之后才逐渐代表机器。

        在这些机器中,最有名的是“步进计算器” 。1694年由Gottfried Leibniz(莱布尼茨)发明,是第一台能做加减乘除全部四种运算的机器。这个人听着耳熟吧,就是和牛顿争夺微积分发明权的那个莱布尼茨。不得不说,巨佬就是巨佬。想了解步进计算器的具体工作原理的同学可以看下面这位博主的博文。

莱布尼茨步进计算器——不想当发明家的数学家不是好的哲学家-CSDN博客文章浏览阅读4.2k次,点赞2次,收藏7次。☞ 欢迎来到神奇的01世界 ☜1672年的某一天,一位在德国政坛小有名气的年轻人受邀来访巴黎——一座大师荟萃的城市。身为文科生的他却误打误撞与几位大数学家成为了好友,从此闯进了理科的世界,没想到这一闯就掀起了历史的惊涛骇浪。钻研数学期间,他渐渐发现:「让一些杰出人才像奴隶般地把时间浪费在计算工作上,是不值得的。」于是,世界上第一台可以自动执行四则运算的机械式计算机诞生了。而这,..._莱布尼茨计算器的基本原理https://blog.csdn.net/ssdlearnerused/article/details/103272724

        即使有机械计算器,但是面对动辄几小时甚至几天的计算时长,以及计算器昂贵的价格,人们更愿意选择由“人力计算器”事先算好的计算表。

        后来Charles Babbage提出了一种新型机械装置——差分机,可以近似多项式。他从1823年开始着手建造差分机,于二十年后放弃(敬礼)。

        不过在1991年,历史学家根据Charles Babbage的描述成功制作出了可以工作的差分机!

        在制作差分机的同时,Charles Babbage构想了一个更复杂的机器——分析机,可以看作为通用计算机,有内存,甚至一个很原始的打印机,由于这个构想太超前了,所以没有建成。数学家Ada Lovelace给分析机写了假想的程序,被认为是世界上第一位程序员 。分析机激励了第一代计算机科学家,因此Charles Babbage被认为是计算机之父。

        值得一提的是,Ada是诗人拜伦的女儿,咱程序员的祖师奶(狗头),大家知道以后拜谁了吧hhh。(CSND官方机器人致敬了这位伟大的女性)

bfd85e23bb4a4c2cbb99e29d83f9b9bd.png

        应美国十年一度的人口普查需求,Herman Hollerith发明了打孔卡片制表机,机器上装备着一个计数器,当穿孔纸带被牵引移动时,一旦有孔的地方通过鼓形转轮表面,计数器电路就被接通,完成一次累加统计。具体原理可以参考百科。

穿孔制表机_百度百科穿孔卡是早期计算机输入信息的设备,通常可以储存80列数据。它是一种很薄的纸片,面积为190×84毫米。首次使用穿孔卡技术的数据处理机器,是美国统计专家霍列瑞斯博士(H.Hollerith)的伟大发明。Hollerith机(Hollerith Machine),是美国人口普查催生的计算器。1880年以前,美国的人口普查都是人工做的。1880的普查完成之后,美国人意识到按照当时的人口增长速度,下一次1890年的普查十年也不可能完成统计,而美国的法律规定必须在十年内完成。于是招标寻找解决办法。Herman Hollerith设计了这种在纸板上打孔(punched card)的技术,帮助解决了统计局的难题。但是他本人并没有赚到钱。1896年他成立了一个公司(TabulatingMachine Company),向其它国家卖他的产品。后来在他老了以后,他把公司卖给了手下的一个主管。最后成了成立IBhttps://baike.baidu.com/item/%E7%A9%BF%E5%AD%94%E5%88%B6%E8%A1%A8%E6%9C%BA/10736363?fr=ge_ala       依托自己发明的制表机,Hollerith创办了一家专业制表机公司,但不久就因资金周转不灵陷入困境,被另一家CTR公司兼并。1924年,CTR公司更名为“国际商业机器公司”,英文缩写“IBM”(命运的齿轮开始转动)

        以上就是本集课程中的全部内容啦!

69d2dc29ec314febb320d519a30173e6.jpeg

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/589342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2024最新版】neo4j安装配置

neo4j安装 写在最前面下载配置环境(还是不行?)启动neo4jpython中调用 写在最前面 之前我安装过,还写了一篇笔记 结果意外发现没有了,而且和之前安装的步骤不一样了,因此再次记录安装过程 下载 https://ne…

vue3安装vue-json-viewer实现json格式化

一、安装插件 直接看效果&#xff1a;json格式化 安装版本不宜过旧也不宜过新&#xff0c;针对vue3安装这个版本即可 yarn add vue-json-viewer;"dependencies": {"vue-json-viewer": "3",}, 二、使用插件 <script> import JsonViewe…

Vue中的keep-alive缓存组件的理解

<keep-alive> 是一个抽象组件&#xff0c;用于将其内部的组件保留在内存中&#xff0c;而不会重新渲染。这意味着当组件在<keep-alive> 内部切换时&#xff0c;其状态将被保留&#xff0c;而不是被销毁和重新创建。 <keep-alive>用来缓存不经常变化的组件&am…

HLS 2017.4 导出 RTL 报错:ERROR: [IMPL 213-28] Failed to generate IP.

软件版本&#xff1a;HLS 2017.4 在使用 HLS 导出 RTL 的过程中产生如下错误&#xff1a; 参考 Xilinx 解决方案&#xff1a;https://support.xilinx.com/s/article/76960?languageen_US 问题描述 DESCRIPTION As of January 1st 2022, the export_ip command used by Vivad…

机器学习笔记 - 基于Python的不平衡数据的欠采样技术

一、简述 随着从不同的来源生成和捕获大量数据。尽管信息量巨大,但它往往反映了现实世界现象的不平衡分布。数据不平衡的问题不仅仅是统计上的挑战,它对数据驱动模型的准确性和可靠性具有深远的影响。 以金融行业欺诈检测为例。尽管我们希望避免欺诈,因为其具有高度破坏性,…

在Mac上恢复SD卡数据的 6 个有效应用程序

慌&#xff01;SD卡里的照片和视频不小心删了&#xff0c;Mac设备上还恢复不了数据&#xff01; 遇到这种情况&#xff0c;你需要的是一款可靠的Mac适用的SD卡恢复软件。我们为你准备了一份最佳的SD卡恢复软件列表&#xff0c;并且还有详细的评论。另外&#xff0c;我们还会给…

深入解析 Spring 的 @Autowired:自动装配的魔法与细节

Autowired 是 Spring 框架中的一个重要注解&#xff0c;用于自动装配 bean 依赖。Spring 通过 Autowired 可以自动将匹配的 bean 注入到需要的地方&#xff0c;如属性、构造函数或 setter 方法等。 下面是 Autowired 注解的详细说明&#xff1a; 作用 自动装配&#xff1a;A…

FTP简介及搭建计算机端口的介绍

目录 一. FTP的简介 二. FTP的主要作用 三. 搭建FTP服务器 3.1 开启防火墙 3.2 创建组 3.3 创建用户 3.4 用户绑定组 3.5 安装FTP服务器 3.6 配置FTP服务器 3.7 配置FTP文件夹的权限 3.8 连接测试 3.8.1 服务器本机测试 3.8.2 外部服务器测试 3.8.3 借助工具MobalXterm 四…

让电脑变得更聪明——用python实现五子棋游戏

作为经典的棋类游戏&#xff0c;五子棋深受大众喜爱&#xff0c;但如果仅实现人与人的博弈&#xff0c;那程序很简单&#xff0c;如果要实现人机对战&#xff0c;教会计算机如何战胜人类&#xff0c;那就不是十分容易的事了。本文我们先从简单入手&#xff0c;完成五子棋游戏的…

DNS域名查询过程

目录 DNS&#xff08;Domain Names System&#xff09; 域名转IP IP转域名 域名 域名查询流程 浏览器DNS缓存 操作系统缓存 本地host文件 完整流程 递归查询 迭代查询 DNS&#xff08;Domain Names System&#xff09; 域名系统&#xff0c;将域名和 IP 地址进行转…

【Spring】AOP的AspectJ开发

AOP基础不了解可以阅读&#xff1a;【Spring】AOP原来如此-CSDN博客 AspectJ是一个居于JAVA开发的AOP框架 基于XML的声明式AspectJ 基于XML的声明式AspectJ是通过XML文件来定义切面&#xff0c;切入点及通知&#xff0c;所有的切面、切入点和通知必须定义在内&#xff0c; 元…

【SpringBoot】常用注解

RequestBody&#xff1a;自动将请求体中的 json 数据转换为实体类对象。 这个例子凑巧传入的json属性键名和User键名一致&#xff0c;可以直接使用User实体类对象&#xff0c;如果键名不一致则需要用一个Map 类接收参数&#xff1a; PutMapping("/update")public R…

给多行文本的每行添加指定的前缀textwrap.indent()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 给多行文本的每行添加指定的前缀 textwrap.indent() [太阳]选择题 请问以下代码输出的第一行结果是&#xff1f; import textwrap text welcome to China! print("【显示】text\n&quo…

基于单片机的公交车站自动报站器设计与实现

一、摘要 随着城市交通的快速发展&#xff0c;公交车作为城市公共交通的主要工具&#xff0c;其便捷性和高效性得到了广泛的认可。然而&#xff0c;由于公交车站的广播系统存在一定的局限性&#xff0c;如人工报站容易出现失误、音量大小不一等问题&#xff0c;给乘客带来了不…

Head First Design Patterns - 观察者模式

观察者模式 观察者模式定义了对象之间的一对多依赖&#xff0c;当一个对象改变状态时&#xff0c;它的所有依赖者都会收到通知并自动更新。观察者模式是一种对象行为型模式。 场景 很多用户都订阅了某一公众号&#xff0c;当该公众号更新时&#xff0c;所以用户都会收到消息…

【JS笔记】JavaScript语法 《基础+重点》 知识内容,快速上手(一)

JavaScript基础语法 HTML &#xff1a;标记语言JavaScript &#xff1a;编程语言&#xff08;脚本&#xff09; 序言 JavaScript发展历史&#xff08;JS&#xff09; 1. 1994年&#xff0c;网景公司(Netscape)发布了Navigator浏览器0.9版&#xff0c;这是世界上第一款比较成…

Mybatis Java API - SqlSessionFactoryBuilder

在MyBatis中&#xff0c;用于与数据库进行交互的主要Java接口是SqlSession。通过这个接口&#xff0c;您可以执行命令、获取映射器并管理事务。稍后我们将更详细地讨论SqlSession本身&#xff0c;但首先我们必须学习如何获取SqlSession的实例。SqlSession是由SqlSessionFactory…

C++17中的内联变量

在C11中&#xff1a; (1).声明为constexpr的函数隐式地是内联函数; (2).deleted函数隐式地是一个内联函数。 在内联函数中&#xff1a; 1.所有函数定义中的函数局部静态对象(function-local static object)在所有翻译单元之间共享(它们都引用一个翻译单…

【c++————————构造函数和析构函数】

【c————————构造函数和析构函数】 欢迎阅读新一期的c模块————构造函数和析构函数 ✒️个人主页&#xff1a;-Joker- &#x1f3f7;️专栏&#xff1a;C &#x1f4dc;代码仓库&#xff1a;c_code &#x1f339;&#x1f339;欢迎大佬们的阅读和三连关注&#xff0c…

软件集成测试

软件集成测试是将各个独立的软件模块组合起来&#xff0c;并测试它们之间的接口和交互是否正常工作的过程。下面是软件集成测试的一般步骤&#xff1a; 确定测试策略&#xff1a;确定集成测试的目标、范围和测试策略。确定要测试的软件模块和它们之间的依赖关系。 设计测试用例…