当前位置: 首页 > 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…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

Java编程之桥接模式

定义 桥接模式&#xff08;Bridge Pattern&#xff09;属于结构型设计模式&#xff0c;它的核心意图是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过组合关系来替代继承关系&#xff0c;从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...