其他
世界上第一位程序员,原来是她?
1024到底是什么?
1024程序员节(1024 Programmer's Day),别称程序员节、码农节,是中国广大程序员的共同节日,但是为什么是10月24日呢?
因为程序员的世界是二进制的,1024是2的10次方,也是程序员心目中的整数。
1G=1024MB(1G与1级谐音,也有一级棒的意思)
1MB=1024KB
1KB=1024B
这就是1024程序员节的由来。
年轻男性?戴眼镜、格子衬衫、不善言辞……?总之,第一反应是女性的恐怕不多。
但几十年前却恰好相反的。
那时候,编程被视为女孩的职业,人们甚至认为女性的天赋很适合这个工作。1967年出版的一份就业指导里,这样写道:“编程需要耐心、恒心、关注细节,这些正是女生的特点”。
人类历史上第一个程序员就是女性。她叫埃达·洛夫莱斯(Ada Lovelace),是英国著名诗人、数学家拜伦的女儿。
埃达·洛夫莱斯是第一位主张计算机不只可以用来算数的数学家。她在笔记中详细说明了用分析机计算伯努利数的方法,这一算法被认为是世界上第一个计算机程序。因此,埃达也被公认为人类历史上第一位计算机程序员。
所以在这个特殊的日子,就让我们聊一聊这位人类历史上首位程序员的传奇经历。
她写的第一个程序
大家可能已经发现,上面的数列其实有很强的规律性。所以人们不禁想要知道,对于一般的情况,是否存在一个一劳永逸的方法求得上面和式的值,也就是著名的“等幂求和”问题。
最终解决这个问题的,是来自传奇的伯努利家族的雅各布·伯努利。
作为拜伦的女儿,埃达有机会结识众多社会名流,其中就包括安德鲁·克罗斯、大卫·布儒斯特、查尔斯·惠斯通、麦可·法拉第等知名科学家。而她的数学天分也颇受查尔斯·巴贝奇赏识,据说她还参与了巴贝奇有关分析机的工作。
查尔斯·巴贝奇是英国科学家,彼时的他正在研发自动化数学机器——差分机。
根据巴贝奇的设想,差分机可以实现从计算到印刷的过程全部自动化。差分机一号的建造工作启动于1822年,历经十年,据说完成了1/7。当时的金主爸爸英国政府发现这个项目超支严重,一气之下就砍掉了这个项目。
失去了政府的资助后,巴贝奇仍继续工作。他打算设计一台更为复杂的机器——分析机。
分析机可以运行包含“条件”“循环”语句的程序,有寄存器用来存储数据,如果实现的话将成为人类第一台计算机,但该项目最终还是以失败告终了。不过凭借这些成果,巴贝奇被后人誉为“计算机之父”(不过历史上被称为“计算机之父”的人还有很多,譬如图灵,冯·诺依曼,阿塔那索夫……)。
埃达最著名的研究则完成于1842年与1843年之间,这段时期她潜心翻译意大利数学家路易吉·米那比亚有关巴贝奇分析机的论文。在翻译的同时,她增加了许多注记,同时详细说明了如何用分析机计算伯努利数的方法,这被认为是世界上第一个计算机程序,而埃达也被认为是世界上第一位程序员。
在1842年,埃达·勒芙蕾丝的分析机笔记“笔记G”,记录了第一个计算机程序——让电脑自动产生伯努利数。这里用到了一个伯努利数的性质:
第一个Bug
大家发现了吧。考虑到这是人类第一段程序,红框里的笔误估计就是人类历史上第一个bug了……(送分题:红框里有什么bug?看出来的你快去留言吧!)
埃达一生饱受疾病折磨, 晚年又被诊断出患有子宫癌。她于1852年11月27日 去世,年仅36岁。在生命的最后几周,尽管病痛缠身,但她还是请人为她画肖像画, 要求在她死后将画像复制赠予朋友们。
依照其生前遗愿,埃达被安葬在诺丁汉郡的赫克诺尔,长眠于父亲拜伦身旁。母亲拜伦夫人为她立了一座纪念碑,碑上刻着她写的一首诗,题为《彩虹》——二十多年前她曾给弗伦德写信讨论彩虹这一大气现象。
诗的结尾写道:“一束隐秘的光永不熄灭,以最纯粹的色彩,穿透云层!”
最后,祝各位程序猿/媛们节日快乐!
推荐阅读
拆解USB无线网卡,电路方案非常经典(附高清美图)
美国再次精准制裁,中国该怎么办?
马斯克割掉了最后一颗雷达
添加微信回复“进群”
拉你进技术交流群!
国产芯|汽车电子|物联网|新能源|电源|工业|嵌入式…..
在公众号内回复您想搜索的任意内容,如问题关键字、技术名词、bug代码等,就能轻松获得与之相关的专业技术内容反馈。快去试试吧!如果您想经常看到我们的文章,可以进入我们的主页,点击屏幕右上角“三个小点”,点击“设为星标”。欢迎扫码关注