当前位置: 首页 > news >正文

计算机发展史 (5)携手共赴难

就在痛苦艰难的时刻,孤独苦闷的巴贝奇意外地收到一封来信,写信人不仅

对他表示理解而且还希望与他共同工作。娟秀字体的签名,表明了她不凡的身份 ──伯爵夫人。

接到信函后不久,巴贝奇实验室门口走进来一位年轻的女士。她身披素雅的 斗蓬,鬓角上斜插一朵白色的康乃馨,显得那么典雅端庄。巴贝奇一时愣在那里, 他与这位女士似曾相识,又想不起曾在何处邂逅。女士落落大方地作了自我介绍, 正是那位写信人。

“您还记得我吗? ”女士低声问道,“十多年前,您还给我讲过差分机原理。” 看到巴贝奇迷惑的眼神,她又笑着补充说:“您说我像野人见到了望远镜。”巴   贝奇恍然大悟,想起已经十分遥远的往事。面前这位女士和那个小女孩之间,依   稀还有几分相似。

原来, 伯爵夫人本名叫阿达·奥古斯塔(Ada Augusta),是英国著名诗人 拜伦的独生女。她比巴贝奇的年龄小 20 多岁,1815 年出生。阿达自小命运多舛, 来到人世的第二年,父亲拜伦因性格不合与她的母亲离异,从此别离英国。可能 是从未得到过父爱的缘由,小阿达没有继承到父亲诗一般的浪漫热情,却继承了 母亲的数学才能和毅力。

还是在阿达的少女时代,母亲的一位朋友领着她们去参观巴贝奇的差分机。 其他女孩子围着差分机叽叽喳喳乱发议论,摸不着头脑。只有阿达看得非常仔细, 她十分理解并且深知巴贝奇这项发明的重大意义。

或许是这个小女孩特殊的气质,在巴贝奇的记忆里打下了较深的印记。他赶 紧请阿达入座,并欣然同意与这位小有名气的数学才女共同研制新的计算机器。

就这样,在阿达 27 岁时,她成为巴贝奇科学研究上的合作伙伴,迷上这项 常人不可理喻的“怪诞 ”研究。其时,她已经成了家,丈夫是洛甫雷斯伯爵。按 照英国的习俗,许多资料在介绍里都把她称为“洛甫雷斯伯爵夫人 ”。

30 年的困难和挫折并没有使巴贝奇屈服,阿达的友情援助更坚定了他的决 心。还在大型差分机进军受挫的 1834 年,巴贝奇就已经提出了一项新的更大胆 的设计。他最后冲刺的目标,不是仅仅能够制表的差分机,而是一种通用的数学 计算机。巴贝奇把这种新的设计叫做“分析机 ” ,它能够自动解算有 100 个变 量的复杂算题,每个数可达 25 位,速度可达每秒钟运算一次。

今天我们再回首看看巴贝奇的设计,分析机的思想仍然闪烁着天才的光芒。

由于巴贝奇晚年因喉疾几乎不能说话,介绍分析机的文字主要由阿达替他完 成。阿达在一篇文章里介绍说:“这台机器不论在可能完成的计算范围、简便程 度以及可靠性与精确度方面,或者是计算时完全不用人参与这方面,都超过了以 前的机器。 ”巴贝奇把分析机设计得那样精巧, 他打算用蒸汽机为动力,驱动 大量的齿轮机构运转。 巴贝奇的分析机大体上有三大部分:其一是齿轮式的“存 贮库 ”,巴贝奇称它为“仓库  (Store),每个齿轮可贮存 10 个数,齿轮组 成的阵列总共能够储存 1000  50 位数。分析机的第二个部件是所谓“运算室 ”, 它被巴贝奇命名为“作坊 ”(Mill),其基本原理与帕斯卡的转轮相似,用齿轮 间的啮合、旋转、平移等方式进行数字运算。为了加快运算速度,他改进了进位 装置,使得 50 位数加 50 位数的运算可完成于一次转轮之中。第三部分巴贝奇没 有为它具体命名,其功能是以杰卡德穿孔卡中的“0 和“ 1 ”来控制运算操作的 顺序,类似于电脑里的控制器。他甚至还考虑到如何使这台机器处理依条件转移 的动作,比如,第一步运算结果若是“ 1 ”,就接着做乘法,若是“0 ”就进行除 法运算。此外,巴贝奇也构思了送入和取出数据的机构,以及在“仓库 ”和“作  ”之间不断往返运输数据的部件。

阿达“心有灵犀一点通 ”,她非常准确地评价道:“分析机‘编织 ’的代数 模式同杰卡德织布机编织的花叶完全一样 ”。于是,为分析机编制一批函数计算 程序的重担,落到了数学才女的肩头。阿达开天辟地第一次为计算机编出了程序, 其中包括计算三角函数的程序、级数相乘程序、伯努利函数程序等等。阿达编制 的这些程序,即使到了今天,电脑软件界的后辈仍然不敢轻易改动一条指令。人 们公认她是世界上第一位软件工程师。

众所周知, 美国国防部据说是花了 250 亿美元和 10 年的光阴,把它所需要  软件的全部功能混合在一种计算机语言中,希望它能成为军方数千种电脑的标准。 1981 年,这种语言被正式命名为 ADA(阿达)语言,使阿达的英名流传至今。

不过,以上讲的都是后话,殊不知巴贝奇和阿达当年处在怎样痛苦的水深火 热之中! 由于得不到任何资助,巴贝奇为把分析机的图纸变成现实,耗尽了自 己全部财产,弄得一贫如洗。他只好暂时放下手头的活,和阿达商量设法赚一些 钱,如制作什么国际象棋玩具,什么赛马游戏机等等。为筹措科研经费,他们不 得不“下海 ”搞“创收 ”。最后,两人陷入了惶惶不可终日的窘境。阿达忍痛两 次把丈夫家中祖传的珍宝送进当铺,以维持日常开销,而这些财宝又两次被她母 亲出资赎了回来。

贫困交加,无休止的脑力劳动,使阿达的健康状况急剧恶化。1852 年,怀 着对分析机成功的美好梦想,软件才女英年早逝,死时年仅 36 岁。阿达去世后, 巴贝奇又默默地独自坚持了近 20 年。晚年的他已经不能准确地发音,甚至不能 有条理地表达自己的意思,但是他仍然百折不挠地坚持工作。1871 年,为计算 机事业贡献毕生精力的先驱者巴贝奇,终于满怀着对分析机无言的悲怅,孤独地 离开了人世。有人把他的大脑用盐渍着保存起来,想经过若干年后,有更先进技 术来研究他大脑保存的精神。

分析机终于没能造出来,巴贝奇和阿达失败了。巴贝奇和阿达的失败是因为 他们看得太远,分析机的设想超出了他们所处时代至少一个世纪!社会发展的需 求和科学技术发展的可能,使得他们注定要成为的悲剧人物。尽管如此,巴贝奇 和阿达为电脑科学留下了一份极其珍贵的精神遗产,包括 30 不同设计方案,  2000 张组装图和 50000 张零件图…… ,更包括那种在逆境中自强不息,为追 求理想奋不顾身的拼搏精神。

相关文章:

计算机发展史 (5)携手共赴难

就在痛苦艰难的时刻,孤独苦闷的巴贝奇意外地收到一封来信,写信人不仅 对他表示理解而且还希望与他共同工作。娟秀字体的签名,表明了她不凡的身份 ──伯爵夫人。 接到信函后不久,巴贝奇实验室门口走进来一位年轻的女士。她身披素雅…...

一键搞定简历设计!电子版简历制作指南3步走!

如今,随着无纸化办公趋势的流行,电子简历逐渐取代了纸质简历,成为我们最常用的简历设计格式。 然而,从纸质简历到电子简历后,对于非平面设计领域的学生来说,简历设计的难度可能再次超出了我们的能力范围。…...

tcpdump 常用用法

简要记录下tcpdump用法 监控某个ip上的某个端口的流量 tcpdump -i enp0s25 tcp port 5432 -nn -S 各个参数作用 -i enp0s25 指定抓包的网卡是enp0s25 -nn 显示ip地址和数字端口 ,如果只 -n 则显示ip,但是端口为services文件中的服务名 如果一个…...

Opencv实战(5)平滑处理与常见函数

平滑处理 Opencv实战: Opencv(1)读取与图像操作 Opencv(2)绘图与图像操作 Opencv(3)详解霍夫变换 Opencv(4)详解轮廓 文章目录 平滑处理1.均值滤波2.方框滤波3.高斯滤波4.中值滤波5.双边滤波 常见函数(1).createTrackbar()(2).SetMouseCallback() 图像的平滑处理是…...

音频PCM介绍与运用

音频PCM介绍与运用 什么是PCM PCM (Pulse Code Modulation) 是一种数字音频编码方式,将模拟声音信号转换为数字信号的过程。在 PCM 中,声音信号被采样并量化为离散的数值,以便于数字化处理和传输。 以下是 PCM 的主要特点: 采样…...

计算机专业大学四年应该如何规划(Java方向)

计算机专业的学生,如何在大学四年内提高自己的竞争力,毕业之后直接进大厂工作? 以下将从大学四年计算机专业的学习规划、课程设置、能力提升、参考书籍等方面,为同学们提供一些建议和指导。 大一: 主攻技能学习并且达…...

算法D27|回溯算法4| 93.复原IP地址 78.子集 90.子集II

93.复原IP地址 本期本来是很有难度的,不过 大家做完 分割回文串 之后,本题就容易很多了 题目链接/文章讲解:代码随想录 视频讲解:回溯算法如何分割字符串并判断是合法IP?| LeetCode:93.复原IP地址_哔哩哔…...

C++实现XOR加解器

#include <Windows.h> #include <iostream> #include <fstream> #include <string>// 加解密函数&#xff0c;使用XOR运算 void XORCrypt(char* data, int size, const std::string& key) {int keyLength key.length();for (int i 0; i < siz…...

Kubernetes的Sevice管理

服务原理: 所有服务都是根据这个服务衍生或者变化出来,根服务---- 服务感知后端靠标签 slelector 标签选择器 kubectl label pods web1 appweb kubectl cluter-info dump | grep -i service-cluster-ip-range 服务ip取值范围 Service 管理: 创建服务: --- kind: Serv…...

C# 高阶语法 —— Winfrom链接SQL数据库的存储过程

存储过程在应用程序端的使用的优点 1 如果sql语句直接写在客户端&#xff0c;以一个字符串的形式体现的&#xff0c;提示不友好&#xff0c;会导致效率降低 2 sql语句写在客户端&#xff0c;可以利用sql注入进行攻击&#xff0c;为了安全性&#xff0c;可以把sql封装在…...

vue3+vite+ts配置多个代理并解决报404问题

之前配置接口代理总是报404,明明接口地址是对的但还是报是因数写法不对;用了vue2中的写法 pathRewrite改为rewrite 根路径下创建env文件根据自己需要名命 .env.development文件内容 # just a flag ENVdevelopment# static前缀 VITE_APP_PUBLIC_PREFIX"" # 基础模块…...

开创未来:探索OpenAI首个AI视频模型Sora的前沿技术与影响

Sora - 探索AI视频模型的无限可能 随着人工智能技术的飞速发展&#xff0c;AI视频模型已成为科技领域的新热点。而在这个浪潮中&#xff0c;OpenAI推出的首个AI视频模型Sora&#xff0c;以其卓越的性能和前瞻性的技术&#xff0c;引领着AI视频领域的创新发展。让我们将一起探讨…...

Redis---持久化

Redis是内存数据库&#xff0c;是把数据存储在内存中的&#xff0c;但是内存中的数据不是持久的&#xff0c;如果想要做到持久&#xff0c;那么就需要让redis将数据存储到硬盘上。 Redis持久化有两种策略&#xff1a; RDB > Redis DataBase RDB机制采取的是定期备份AOF …...

从 Flask 切到 FastAPI 后,起飞了!

我这几天上手体验 FastAPI&#xff0c;感受到这个框架易用和方便。之前也使用过 Python 中的 Django 和 Flask 作为项目的框架。Django 说实话上手也方便&#xff0c;但是学习起来有点重量级框架的感觉&#xff0c;FastAPI 带给我的直观体验还是很轻便的&#xff0c;本文就会着…...

状态码转文字!!!(表格数字转文字)

1、应用场景&#xff1a;在我们的数据库表中经常会有status这个字段&#xff0c;这个字段经常表示此类商品的状态&#xff0c;例如&#xff1a;0->删除&#xff0c;1->上架&#xff0c;0->下架&#xff0c;等等。 2、我们返回给前端数据时&#xff0c;如果在页面显示0…...

Pytorch 复习总结 4

Pytorch 复习总结&#xff0c;仅供笔者使用&#xff0c;参考教材&#xff1a; 《动手学深度学习》Stanford University: Practical Machine Learning 本文主要内容为&#xff1a;Pytorch 深度学习计算。 本文先介绍了深度学习中自定义层和块的方法&#xff0c;然后介绍了一些…...

YOLOv9中加入SCConv模块!

专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;主力高效涨点&#xff01;&#xff01;&#xff01; 一、本文介绍 本文将一步步演示如何在YOLOv9中添加 / 替换新模块&#xff0c;寻找模型上的创新&#xff01; 适用检测目标&#xff1a; YOLOv9模块…...

代码随想录算法训练营第四十七天丨198. 打家劫舍、​ 213. 打家劫舍 II​、337. 打家劫舍 III

198. 打家劫舍 自己的思路&#xff1a; 初始化两个dp数组&#xff0c;dp[i][0]表示不偷第i户&#xff0c;在0-i户可以偷到的最大金额&#xff0c;dp[i][1]表示偷i户在0-i户可以偷到的最大金额。 class Solution:def rob(self, nums: List[int]) -> int:n len(nums)dp […...

龙蜥Anolis 8.4 anck 安装mysql5.7

el8没有用mysql5.7了&#xff0c;镜像里是mysql8。 禁用 sudo dnf remove mysql sudo dnf module reset mysql sudo dnf module disable mysql 修改Yum源 sudo vi /etc/yum.repos.d/mysql-community.repo [mysql57-community] nameMySQL 5.7 Community Server baseurlhttp:…...

【踩坑】修复xrdp无法关闭Authentication Required验证窗口

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 问题如下&#xff0c;时不时出现&#xff0c;有时还怎么都关不掉&#xff0c;很烦&#xff1a; 解决方法一&#xff1a;命令行输入 dbus-send --typemethod_call --destorg.gnome.Shell /org/gnome/Shell org.gn…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

WebRTC从入门到实践 - 零基础教程

WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC&#xff1f; WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个支持网页浏览器进行实时语音…...