[计算机科学#1]:计算机的前世今生,从算盘到IBM的演变之路
【核知坊】:释放青春想象,码动全新视野。
我们希望使用精简的信息传达知识的骨架,启发创造者开启创造之路!!!
内容摘要:在我们的日常生活中,计算机无处不在——从智能手机到自动驾驶汽车,从虚拟现实到金融系统。我们已经进入一个电子信息的时代,但你是否想过,这一切是如何开始的?今天就带你走进计算机的早期历史,一起回顾从算盘到通用计算机的演变之路。
关键词: 算盘 分析机 打孔卡片制表机
其他相关文章:
⛏正在赶稿中....
人类对“计算”的最初需求
早在公元前2500年,美索不达米亚人就发明了人类已知最早的计算工具——算盘。算盘帮助人们进行加减法计算,同时还能保存计算状态。
如图,假设 10 进制算盘有 4 排,每排 10 颗算子,从下到上,级数递增。放到右边的是结果,那么上图:
1x2+10x1+100x2+1000x3 = 3212
在接下来的4000年中,随着人类社会的进步,计算需求越来越多,人类发明了各种计算工具,如:星盘:用于航海定位;计算尺:辅助乘除计算;时钟装置:用于计算天体、潮汐等自然现象。这些设备大大提升了计算效率,降低了使用门槛,也开启了人类“外包大脑”的进程。
“computer”:从人到机器
最初的“computer”其实是指“计算人员”。直到19世纪末,这个词才开始用于描述机械计算设备。德国学者莱布尼茨的“步进计算器”在1694年诞生,是首个能完成加减乘除的机械计算器。
🛠 基本构造:
-
十齿齿轮: 每一个齿轮代表一位数字,从0到9。旋转一圈等于加了10。
-
阶梯圆柱:
-
这是莱布尼茨设计中的核心创新。
-
它是一种圆柱形零件,表面有逐步增加高度的齿。
-
想象一个不规则的“鼓”,一边是0齿,另一边是9齿,每一层多一个齿。
-
可以通过调整“啮合位置”来控制它带动的数量 —— 比如啮合在第3齿的高度时,每转一圈就加3。
-
-
拨号盘:
-
操作员通过拨号输入数字。
-
每个拨号盘连接一个阶梯圆柱,对应一位数(个位、十位、百位等)。
-
-
进位机制:
-
当某一位加到10后,它会触发下一位的齿轮+1。
-
这个过程由齿轮和棘轮(ratchet)系统完成,就像现在的汽车里程表那样。
-
进入工业与战争时代
19世纪末,计算设备开始服务于战争与政府任务,例如用于炮弹轨道计算的“射程表”,但射程表需要频繁更新,明显不利于紧张的战局形势。复杂度越来越高,人类已迫切需要更高效的计算方式。
现代计算机之父
Charles Babbage 发明了“差分机”和“分析机”,这些超前的思想在时代受阻,最终没有完成这两种机器。但Charles Babbage 提出了跨时代的概念:“自动计算”,计算机可以自动完成一系列操作。而英国数学家Ada Lovelace 女士给分析机写了假想的程序,并说:“未来会诞生一门全新的,强大的,专为分析所用的语言”,因此 Ada Lovelace 被认为是世界上第一位程序员。分析机激励了第一代计算机科学家,这些科学家将前者的点子融入到了自己的机器构造中。
计算机进入商业时代
在1890年,美国宪法规定每十年必须进行一次全国人口普查。然而,随着人口的快速增长,仅靠人工进行数据统计效率极低,耗时漫长。1880年的人口普查就用了整整七年才完成。预计1890年的人口普查将耗时超过十年,几乎无法满足宪法的时效要求。为了提高统计效率,工程师 Herman Hollerith 发明了一种革命性的装置——打孔卡片制表机。这台机器的工作原理部分继承了莱布尼茨的“步进计算器”,但在结构上更为先进,采用了电动系统驱动机械部件。
每张纸质打孔卡上预先标有多个孔位,对应着人口信息字段,如年龄、性别、婚姻状况等。普查人员只需根据受访者的信息,在相应位置打孔,然后将卡片插入机器。当金属探针下压,穿透打孔处并触碰到汞或金属片时,即可导通电路,驱动电机完成一次计数。这种“电动-机械”混合式统计设备比传统手工记录快了大约10倍,使得1890年人口普查仅用了两年半便顺利完成,大大节省了时间与成本,为政府节约了超过百万美元。
Hollerith 的发明迅速引起商业界的注意。各行业开始意识到,类似的计算工具不仅能处理普查数据,也可以广泛应用于会计、保险评估、库存管理等劳动密集型与数据密集型任务,从而大幅提升效率和利润。为满足日益增长的商业需求,Hollerith 创办了 制表机器公司(Tabulating Machine Company)。1924年,该公司与几家其他设备制造商合并,正式更名为 “国际商业机器公司”——IBM。
这一系列创新不仅推动了企业管理的现代化,也使政府机构更高效地运作。可以说,这些早期的“商业计算机”开启了信息时代的序幕。而随着20世纪中叶全球人口爆炸和贸易全球化的浪潮到来,对数据处理的速度和灵活性提出了更高的要求,电子计算机的时代也因此应运而生。
总结
计算机技术的进步极大地释放了人类的创造力,从最早的算盘到如今的智能系统,每一步都印证了我们对更高效率与智能的不断追求。随着未来技术的发展,这种影响还将持续扩大。计算,才刚刚开始。
感谢阅览,如果你喜欢该内容的话,可以点赞,收藏,转发。
由于 Koro 能力有限,有任何问题请在评论区内提出,Koro 看到后第一时间回复您!!!
其他精彩内容:
⛏正在赶稿中....
参考内容:
Crash Course Computer Science(Y-T)
相关文章:
[计算机科学#1]:计算机的前世今生,从算盘到IBM的演变之路
【核知坊】:释放青春想象,码动全新视野。 我们希望使用精简的信息传达知识的骨架,启发创造者开启创造之路!!! 内容摘要:在我们的日常生活中,计算机无处不在——…...
【LangChain4j】AI 第一弹:LangChain4j 的理解
一、LangChain4j 的简介 1.1 LangChain4j的背景 LangChain4j(LangChain for java) 的目标是简化将大语言模型(LLM - Large Language Model)集成到 Java 应用程序中的过程。 官网: https://docs.langchain4j.dev 202…...
深入解析C++ STL Stack:后进先出的数据结构
一、引言 在计算机科学中,栈(Stack)作为一种遵循后进先出(LIFO)原则的数据结构,是算法设计和程序开发的基础构件。C STL中的stack容器适配器以简洁的接口封装了底层容器的操作,为开发者提供了…...
3.2 Agent核心能力:感知、规划、决策与执行
智能代理(Agent)是一种能够在复杂环境中自主运作的计算实体,其智能行为依赖于四大核心能力:感知(Perception)、规划(Planning)、决策(Decision-making)和执行…...
(即插即用模块-特征处理部分) 四十一、(2024) MSAA 多尺度注意力聚合模块
文章目录 1、Multi-Scale Attention Aggregation Module2、代码实现 paper:CM-UNet: Hybrid CNN-Mamba UNet for Remote Sensing Image Semantic Segmentation Code:https://github.com/XiaoBuL/CM-UNet 1、Multi-Scale Attention Aggregation Module 传…...
【速写】hook与fx
文章目录 问题方法方法 1:使用 PyTorch 的 register_forward_hook方法 2:自定义前向传播(修改 forward 方法)方法 3:使用 output_attentions 或 output_hidden_states方法 4:使用 torch.fx 进行动态追踪总结…...
基于javaweb的SpringBoot扶农助农平台管理系统设计与实现(源码+文档+部署讲解)
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…...
用户模块-SpringEvent观察者模式
1. 背景与需求 在很多系统中,我们常常需要对用户的行为进行处理,比如发放奖励、处理通知等。在这个例子中,我们希望在两个场景下发放“改名卡”这个奖励: 用户注册时:当一个新用户注册成功时,我们希望立即发…...
三目云台转动性能稳定性
三目云台是一种具备三个摄像头或观测窗口的云台设备,其转动性能对于实现全方位、多角度的监控或观测至关重要。以下是对三目云台转动的详细分析: 一、转动原理 云台本身是一种摄像机稳定器,通过内置的电机和控制系统实现转动。三目云台则在…...
Python基础语法3
目录 1、函数 1.1、语法格式 1.2、函数返回值 1.3、变量作用域 1.4、执行过程 1.5、链式调用 1.6、嵌套调用 1.7、函数递归 1.8、参数默认值 1.9、关键字参数 2、列表 2.1、创建列表 2.2、下标访问 2.3、切片操作 2.4、遍历列表元素 2.5、新增元素 2.6、查找元…...
45、子类需要重写父类的构造函数嘛,子类自己的构造函数呢?
45、子类需要重写父类的构造函数嘛,子类自己的构造函数呢? 一、子类是否需要重写父类的构造函数? 1. 不需要重写的场景 基类有无参构造函数 若父类(基类)显式或隐式定义了无参构造函数,子类无需重写构造函…...
C语言 ——— 分支循环语句
目录 分支循环语句 单分支 多分支 switch 分支语句 牛刀小试 判断一个数是否是奇数 输出 1-100之间 的奇数 计算 n 的阶乘 计算 1! 2! 3! ... n! 在一个有序数组中查找具体的某一个数字 打印 100-200 之间的素数 求两个整数的最大公约数 getchar函数 和 putc…...
解耦旧系统的利器:Java 中的适配器模式(Adapter Pattern)实战解析
在现代软件开发中,我们经常需要与旧系统、第三方库或不一致接口打交道。这时候,如果能优雅地整合这些不兼容组件,又不破坏原有结构,就需要一位“翻译官” —— 适配器模式。本文将通过 Java 实例,详细讲解适配器模式的…...
C++学习之游戏服务器开发十五QT登录器实现
目录 1.界面搭建 2.登录客户端步骤分析 3.拼接登录请求实现 4.发送http请求 5.服务器登录请求处理 6.客户端处理服务器回复数据 7.注册页面启动 8.qt启动游戏程序 1.界面搭建 2.登录客户端步骤分析 3.拼接登录请求实现 CGI 程序处理流程 程序员自己写程序处理各种业务 …...
搭建Stable Diffusion图像生成系统实现通过网址访问(Ngrok+Flask实现项目系统公网测试,轻量易部署)
目录 前言 背景与需求 🎯 需求分析 核心功能 网络优化 方案确认 1. 安装 Flask 和 Ngrok 2. 构建 Flask 应用 3. 使用 Ngrok 实现内网穿透 4. 测试图像生成接口 技术栈 实现流程 优化目标 实现细节 1. 迁移到Flask 2. 持久化提示词 3. 图像下载功能 …...
第五章:5.3 ESP32物联网应用:阿里云IoT平台与腾讯云IoT平台的数据上传与远程控制
一、阿里云IoT平台接入 1. 准备工作 注册阿里云账号 访问阿里云官网,注册并完成实名认证。创建产品和设备 进入物联网平台控制台 → 公共实例 → 创建产品(例如产品名称“ESP32_Sensor”,节点…...
【AI News | 20250423】每日AI进展
AI Repos 1、suna Suna是一款完全开源的AI助手,旨在通过自然对话帮助用户轻松完成现实世界的任务。它作为您的数字伙伴,提供研究、数据分析和日常问题解决等功能,并结合强大的能力与直观的界面,理解您的需求并交付成果。Suna的工…...
3.1 Agent定义与分类:自主Agent、协作Agent与混合Agent的特点
随着人工智能技术的快速发展,智能代理(Agent)作为一种能够感知环境、自主决策并采取行动的计算实体,已成为人工智能领域的重要研究对象和应用工具。特别是在大模型(Large Models)的赋能下,Agent…...
stack和queue的学习
stack的介绍 stack的文档介绍 stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,…...
leetcode-位运算
位运算 371. 两整数之和 题目 给你两个整数 a 和 b ,不使用 运算符 和 - ,计算并返回两整数之和。 示例 1: 输入: a 1, b 2 输出: 3 示例 2: 输入: a 2, b 3 输出: 5 提示&am…...
《浔川AI翻译v6.1.0问题已修复公告》
《浔川AI翻译v6.1.0问题已修复公告》 尊敬的浔川AI翻译用户: 感谢您对浔川AI翻译的支持与反馈!我们已针对 **v6.1.0** 版本中用户反馈的多个问题进行了全面修复,并优化了系统稳定性。以下是本次修复的主要内容: 已修复问题 ✅…...
Unity 创建、读取、改写Excel表格数据
1.导入EPPlus.dll、Excel.dll、Mysql.Data.dll、System.Data.dll;(我这里用的是:Unity2017.3.0) 2.代码如下: using System.Data; using System.IO; using UnityEngine; using OfficeOpenXml; using UnityEditor; us…...
【阿里云大模型高级工程师ACP习题集】2.3 优化提示词改善答疑机器人回答质量
练习题: 【单选题】在使用大模型进行意图识别时,通过设计特定提示词引导模型生成符合预期回答的方法,其本质是( )。 A. 修改模型本身参数 B. 依靠构造输入激发模型内部已有知识 C. 对模型进行微调 D. 改变模型的训练数据 【多选题】以下哪些属于提示词框架中的要素( )。…...
富文本编辑器实现
🎨 富文本编辑器实现原理全解析 📝 基本实现路径图 #mermaid-svg-MO1B8a6kAOmD8B6Y {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-MO1B8a6kAOmD8B6Y .error-icon{fill:#552222;}#mermaid-s…...
海量粒子特效解决方案:VEG
Unity 官方除了一个 GPU 粒子特效的解决方案:Visual Effect Graph,即 VEG,能支持百万级粒子特效的播放。在性能要求高的使用场景中,这个解决方案就能完美解决原本 Particle System 性能低下的问题。关于 VEG 的基本使用方法参考官…...
Java高频面试之并发编程-06
hello啊,各位观众姥爷们!!!本baby今天来报道了!哈哈哈哈哈嗝🐶 面试官:线程上下文切换是什么? 线程上下文切换(Thread Context Switching)是操作系统中 CPU…...
Windows 同步技术-一次性初始化
组件通常设计为在首次调用时执行初始化任务,而不是加载它们时。 一次性初始化函数可确保此初始化仅发生一次,即使多个线程可能尝试初始化也是如此。 Windows Server 2003 和 Windows XP: 应用程序必须使用 互锁函数 或其他同步机制提供自己的…...
Transformer起源-Attention Is All You Need
这篇笔记主要讲解Attention Is All You Need论文。《Attention Is All You Need》由 Ashish Vaswani 等人撰写,于 2017 年发表在 NIPS(Neural Information Processing Systems)会议上。它提出了一种全新的神经网络架构——Transformer&#x…...
被裁20240927 --- 视觉目标跟踪算法
永远都像初次见你那样使我心荡漾 参考文献目前主流的视觉目标跟踪算法一、传统跟踪算法1. 卡尔曼滤波(Kalman Filter)2. 相关滤波(Correlation Filter,如KCF、MOSSE)3. 均值漂移(MeanShift/CamShift&#x…...
每日学习Java之一万个为什么(JUC)
文章目录 Git复习synchronized介绍基本概念特点 使用模板1. 同步方法格式特点 2. 同步代码块格式特点 常见面试题1. synchronized的实现原理?2. synchronized与ReentrantLock的区别?3. synchronized的缺点?4. 死锁的四个必要条件?…...
代码分享:python实现svg图片转换为png和gif
import cairosvg import imageio from PIL import Image import io import osdef svg_to_png(svg_path, png_path):try:cairosvg.svg2png(urlsvg_path, write_topng_path)print(f"成功将 {svg_path} 转换为 {png_path}")except Exception as e:print(f"转换为 P…...
前端热门面试题day1
内容回答较粗糙,如有疑问请自行搜索资料 什么是vue中的slot?它有什么作用 Vue中的Slot(插槽)就像给组件预先留的“内容停车位”,让父组件能把自定义内容“塞”到子组件的指定位置。它的主要作用是: 灵活定…...
DCAN,ECAN和MCAN的区别
DCAN、ECAN和MCAN的主要区别在于它们各自的管理范围和功能。 DCAN(动力CAN系统):DCAN主要负责协调电机控制单元(MCU)、电池管理系统(BMS)、直流电压变换器(DC/DC)和…...
基于Python爬虫的豆瓣电影信息爬取(可以根据选择电影编号得到需要的电影信息)
# 豆瓣电影信息爬虫(展示效果如下图所示:) 这是一个功能强大的豆瓣电影信息爬虫程序,可以获取豆瓣电影 Top 250 的详细信息。 ## 功能特点 - 自动爬取豆瓣电影 Top 250 的所有电影信息 - 支持分页获取,每页 25 部电影,共 10 页 - 获取每部电影的详细信息,包括: - 标题…...
Linux系统学习----概述与目录结构
linux 是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目 (c/c/php/python/java/go)都会部署到 Linux/unix 系统上。 一、虚拟机系统操作 1.网络连接的三种方式(桥接模式、nat模式、主机模…...
软考资料分享
分享一些软考资料 16系统分析师-基础知识精讲夸克网盘分享1701系统分析师夸克网盘分享1804系统架构设计师夸克网盘分享19软考系统架构设计师2024年11月夸克网盘分享2006信息系统项目管理师夸克网盘分享21软考高级信息系统项目夸克网盘分享22系统分析师视频教程真题资料夸克网盘…...
什么是 GLTF/GLB? 3D 内容创建的基本数据格式说明,怎么下载GLB/GLTF格式模型
GLTF 概述 GLTF 是一种 3D 模型格式,广泛用于在 Web 上共享和显示 3D 内容。 它经过优化,可在 WebGL 中轻松加载,使用 WebGL 可以快速高效地渲染 3D 模型。 GLTF 是 Khronos Group 开发的开放标准之一,以 JSON 或二进制格式表示…...
湖南大学-操作系统实验四
HUNAN UNIVERSITY 操作系统实验报告 一、实验题目 实验四 中断、异常和陷阱指令是操作系统的基石,现代操作系统就是由中断驱动的。本实验和实验五的目的在于深刻理解中断的原理和机制,掌握CPU访问中断控制器的方法,掌握Arm体系结构的中断机…...
3.第三章:数据治理的战略价值
文章目录 3.1 数据治理与企业战略3.1.1 数据驱动的决策体系3.1.2 数据资产的价值挖掘3.1.3 风险防控与合规管理 3.2 数据治理的业务价值3.2.1 提升客户体验3.2.2 优化运营效率3.2.3 加速产品创新 3.3 数据治理的技术价值3.3.1 提升数据质量3.3.2 优化数据架构3.3.3 增强系统集成…...
[KVM] KVM挂起状态恢复失败与KVM存储池迁移
背景:发现KVM host上的几台虚拟机挂起了(paused),但是并没有执行virsh suspend <vm_hostname>,且使用virsh resume <vm_hostname> 无法恢复。原因是这个几个虚拟机归属的存储池所在的磁盘满了。所以想把虚拟机迁移到磁盘空间富余…...
图文结合 - 光伏系统产品设计PRD文档 -(慧哥)慧知开源充电桩平台
光伏系统产品设计PRD文档 版本号:1.0 修订日期:2023年10月 作者: 一、文档概述 1.1 背景与目标 行业背景:全球光伏装机量年增长20%,数字化运维需求迫切用户痛点:现有系统存在数据延…...
linux-相关命令
一、Linux 详细介绍 1. 什么是 Linux? Linux 是一个开源的类 Unix 操作系统,其核心是 Linux 内核。它最早由 Linus Torvalds 在 1991 年发布,后来逐渐发展成各种发行版(如 Ubuntu、CentOS、Debian、Arch 等)。 2. L…...
Hive中Map和Reduce阶段的分工
在Hive查询执行过程中,Map和Reduce阶段有明确的分工,但实际情况要复杂一些。 基本分工原则 Map阶段: 主要职责是读取输入数据并进行初步处理输出键值对形式的数据Reduce阶段: 接收Map阶段输出的键值对对相同键的值进行聚合/计算输出最终结果实际执行中的复…...
前端笔记-Vue router
学习目标 Vue Router路由管理1、路由配置2、嵌套路由3、路由守卫与权限控制 一、路由配置(给网站做地图) npm i vue-router 作用:告诉浏览器什么地址该显示什么页面 核心代码: // 创建路由并暴露出去// 第一步&#x…...
MySQL的日志--Redo Log【学习笔记】
MySQL的日志--Redo Log 知识来源: 《MySQL是怎样运行的》--- 小孩子4919 MySQL的事务四大特性之一就是持久性(Durability)。但是底层是如何实现的呢?这就需要我们的Redo Log(重做日志)闪亮登场了。它记录着…...
《系统分析师-第三阶段—总结(五)》
背景 采用三遍读书法进行阅读,此阶段是第三遍。 过程 第9章 总结 在这个过程中,对导图的规范越来越清楚,开始结构化,找关系,找联系。...
【LangChain4j】AI 第二弹:项目中接入 LangChain4j
普通接入方式 参考文档: Get Started https://docs.langchain4j.dev/get-started 1.添加依赖 <!-- 基于open-ai的langchain4j接口:ChatGPT、deepseek都是open-ai标准下的大模型 --> <dependency><groupId>dev.langchain4j</grou…...
测试基础笔记第十天
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、查询语句1.基本查询2.条件查询3.模糊查询4.范围查询5.判断空 二、其他复杂查询1.排序2.聚合函数3.分组4.分页查询 一、查询语句 1.基本查询 – 需求1: 准备商…...
代理模式:控制对象访问的中间层设计
代理模式:控制对象访问的中间层设计 一、模式核心:通过代理对象控制对目标对象的访问 在软件开发中,有时需要为对象添加一个 “代理” 来控制对它的访问,例如: 远程代理:访问远程对象时(如 R…...
Python类和对象二(十一)
构造函数: 重写: 通过类名访问类里面的方法的做法,称为调用未绑定的父类方法,他有时候会产生钻石继承问题: 发现A重复初始化了两次,类c同事继承类B1和B2,类B1和B2又是继承类A的,当c…...