正文内容 评论(0

码农永恒的女神:写代码送人类上月球
2015-06-14 16:17:54  出处:快科技 作者:上方文Q 编辑:上方文Q     评论(0)点击可以复制本篇文章的标题和链接

都说程序员苦逼,都说程序员是男人的天下缺少姑娘,但是你知道吗?在历史上,曾经有这么一位女程序员,本来颜值爆表,完全可以靠脸吃饭,但却选择了码农这一事业,而且干出了一番惊天地泣鬼神的事业,靠一段段代码将人类第一次送上了月球,绝对是才艺双绝、女神中的女神。

她,就是阿波罗计划的首席软件工程师玛格丽特·汉密尔顿(Margaret Hamilton)

关于她的事迹,历史上多有记载,熟悉那段岁月的人应该有所了解,但历史书总是很枯燥的,不能充分展现她的女神范儿。这里我们看看知乎用户“杨硕”热情洋溢的介绍,看完你肯定会热血沸腾的。不是程序员的,肯定羡慕加敬仰这个行业。是程序员的,肯定会豪气冲天、埋头苦干的。

码农永恒的女神:写代码送人类上月球

1、火箭和飞船上的代码开发难度完爆其他人说的电脑上的代码(不管是磁心线还是打孔卡片)。

在计算机还没有发展完善以前,火箭代码是没法Debug(调试)的,总不能每改一段代码就发一颗新火箭吧?打孔卡片虽然逼格高,但是总不会程序出了Bug就炸飞几千万美元的设备吧?火箭和飞船的程序员们肯定通过纸笔度过了很多不眠不休的夜晚。

2、那个时候晶体管计算机还没发展完善,很多东西没有统一,大家做一个计算机出来就自带一套汇编,而阿波罗飞船上包含着许多不同的计算机模块,避障模块是A公司产的,中央处理器是B公司产的……

为了给不同的模块编程,少说得学三五套汇编语言。手下的程序员专门负责某个模块,只用学一套,但是玛格丽特自己作为项目的Leader,应该得是每一套都基本可以弄懂、会写、还不搞混吧。

当然,这一点相比于其他事情已经是小事了。

3、人类第一个卡尔曼滤波器(线性系统的最优估计观测器)是在阿波罗计划中实现的,作者是斯坦利施密特,不过玛格丽特作为首席工程师也是参与讨论和开发的,代码一定也在这一摞厚厚的纸当中。

为什么开发卡尔曼滤波器就比比尔盖茨写Basic解释器更屌呢?根据吴军老师《文明之光》第二册,斯坦利施密特是和卡尔曼讨论阿波罗的轨迹预测问题时发现卡尔曼滤波器的妙用的。

卡尔曼滤波器是一个很高大上的东西,因为和一般的程序不同,它用到了深刻的数学和数值计算工具。轨迹预测的话,三维位置,三维速度?如果是这样的,那么他们的代码里包含对六阶矩阵的乘法、求逆矩阵(LU分解或者QR分解)。

当然也许他们只预测位置,那么三维矩阵求逆就好办了一些,然而我们可是在谈几百万美元的大飞船啊,怎么可能没有带速度的运动模型?应该还是搞六维的吧?

让现在任何一个工程师拿C手写矩阵分解,估计都会让他痛苦好几天的,别说上古时代只有晶体管计算机和汇编语言了。

大家应该能想想出更多艰难的事情了。

4、最神操作的当然是“女神玛格丽特对自己人生的选择。

大家可以自行百度她的照片,真人很漂亮,在1969年就已经引领了黑丝连衣裙的流行女神装扮,中年之后依然知性优雅。

明明靠脸就能够生活得很好了,却选择了程序员的职业生涯,而且还领导了人类历史上最伟大的软件工程,这个人生真是……我辈只能佩服得五体投地。

所以每次我写好程序到飞行器里忐忑不安地准备测试的时候,我都会想一想我的女神,然后鼓励自己:这没什么难的,你的卡尔曼滤波器是用Eigen写的,安全的很;你的飞行器也就几万块钱,便宜得很……

码农永恒的女神:写代码送人类上月球
玛格丽特·汉密尔顿站在阿波罗项目中导航计算机源代码旁边

码农永恒的女神:写代码送人类上月球

【本文结束】如需转载请务必注明出处:快科技

责任编辑:

  • 支持打赏
  • 支持0

  • 反对

  • 打赏

文章价值打分

当前文章打分0 分,共有0人打分
  • 分享好友:
  • |

  • 热门文章
  • 换一波

  • 好物推荐
  • 换一波

  • 关注我们

  • 微博

    微博:快科技官方

    快科技官方微博
  • 今日头条

    今日头条:快科技

    带来硬件软件、手机数码最快资讯!
  • 抖音

    抖音:kkjcn

    科技快讯、手机开箱、产品体验、应用推荐...