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

别再让内存拖后腿:图解PCIe No Snoop与Intel DDIO如何为你的高速网卡加速

突破内存瓶颈&#xff1a;PCIe No Snoop与Intel DDIO技术在高性能网络中的实战指南 当100GbE网卡的实际吞吐量始终无法突破60%利用率时&#xff0c;大多数工程师的第一反应往往是检查网卡配置或驱动版本。但真正的问题可能隐藏在CPU与内存之间那条看不见的数据高速公路上——传…...

接口测试postman/python环境配置

安装node.js/newman Node.js — 下载 Node.js 直接默认安装。安装后打开cmd 输入npm -v查询是否安装成功&#xff1b; 安装newman&#xff1a; cmd输入&#xff1a;npm install -g newman 安装好后&#xff0c;输入newman -v 检查&#xff1b; 安装newman-reporter-htmlex…...

从流量包到指纹:手把手教你识别MSF、CS和Sliver的C2通信(附Wireshark实战)

从流量包到指纹&#xff1a;手把手教你识别MSF、CS和Sliver的C2通信&#xff08;附Wireshark实战&#xff09; 当你面对海量的网络流量数据时&#xff0c;如何快速识别出潜在的C2&#xff08;Command and Control&#xff09;通信&#xff1f;这就像在干草堆里找针&#xff0c…...

新技能分享OpenAI SDK 智能体(Agentic AI)Tools 工具使用详解:从原理到 WebSearch Agent 实战

在大模型应用从“对话问答”走向“可执行系统”的过程中&#xff0c;Agentic AI&#xff08;智能体&#xff09;成为最核心的工程方向之一。所谓智能体&#xff0c;不再只是“回答问题”&#xff0c;而是能够理解目标、拆解任务、调用工具、执行动作、观察结果并迭代的系统。 而…...

Buck、Boost、Buck-Boost电路中电感参数选择与优化

1. Buck电路中的电感参数选择与优化 Buck降压电路是电源设计中常见的拓扑结构&#xff0c;它的核心元件之一就是功率电感。很多新手工程师在设计时最容易犯的错误就是直接套用公式计算电感值&#xff0c;而忽略了实际应用中的各种限制条件。我刚开始做电源设计时&#xff0c;就…...

区块链开发总结

区块链开发技术探索与实践指南 区块链技术作为近年来最具颠覆性的创新之一&#xff0c;正在重塑金融、供应链、物联网等多个领域。对于开发者而言&#xff0c;掌握区块链开发的核心要点至关重要。本文将从关键技术、常见挑战和最佳实践三个方面&#xff0c;总结区块链开发的核…...

手把手教你用GCC打包自己的C++工具库:从源码到.so/.a,再到发布给同事用

从零构建C工具库&#xff1a;GCC编译与团队共享实战指南 在团队协作开发中&#xff0c;我们经常会遇到一些通用功能模块需要被多个项目复用的情况。比如字符串处理、日志记录、配置解析等基础工具类&#xff0c;如果每个项目都重新实现一遍&#xff0c;不仅效率低下&#xff0c…...

从DIY树莓派到量产智能硬件:工程师如何根据项目选对芯片(CPU/MPU/MCU/SoC实战指南)

从DIY树莓派到量产智能硬件&#xff1a;工程师如何根据项目选对芯片 在智能硬件开发领域&#xff0c;芯片选型往往决定了项目的成败。我曾见过一个团队花费半年时间基于高性能SoC开发了一款环境监测设备&#xff0c;最终却因功耗问题不得不推倒重来&#xff1b;也见证过创客用5…...

drawio插件开发实战:打通Gitee API实现云端文件同步与版本管理

1. 为什么需要Gitee插件 作为一个经常用drawio画流程图的技术博主&#xff0c;我深刻体会到云存储的重要性。每次画完图都要手动导出文件&#xff0c;再上传到代码仓库&#xff0c;这个流程实在太繁琐了。虽然drawio原生支持GitHub和GitLab&#xff0c;但对国内开发者来说&…...

终极指南:如何构建跨浏览器学术引用插件Zotero Connectors

终极指南&#xff1a;如何构建跨浏览器学术引用插件Zotero Connectors 【免费下载链接】zotero-connectors Chrome, Firefox, Edge, and Safari extensions for Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-connectors 在学术研究和论文写作中&#xff…...