查看原文
其他

女生,到底能不能当程序员?

送福利的 CSDN 2019-03-31

乔布斯改变了世界。

改变了世界的不止乔布斯。还有众多不被人们熟知的女程序员。在今天女王节里 ,我们一起看看那些在计算机历史上做出杰出贡献的女程序员们,看看她们是如何改变世界的。


第一位程序员


阿达·洛芙莱斯(Augusta Ada King)是著名英国诗人拜伦之女,她本职是一位数学家,有“数字女王”的美称,被认为是世界上第一位程序员。

在1834年,阿达的朋友,英国数学家、发明家兼机械工程师查尔斯·巴贝其(Charles Babbage)发明了一台分析机。阿达开始尝试为该分析机编写算法,并于1843 年公布了世界上第一套算法。

巴贝其分析机后来被认为是最早期的计算机雏形,而阿达的算法则被认为是最早的计算机程序和软件。在该套算法中,阿达建立了循环和子程序概念。

高级程序语言“Ada”正是以阿达的名字而命名的,是美国为了纪念她对现代电脑与软件工程所产生的重大影响。


COBOL之母


葛丽丝·穆雷·霍普(Grace Murray Hopper)于1906年出生于美国纽约,是杰出的计算机科学家,计算机软件工程第一夫人。作为Cobol语言设计的领导者与主要贡献者,她被称为“Cobol之母”。

1980年,葛丽丝获得国际IEEE组织颁发的首届计算机先驱奖。1991年,布什总统在白宫授予葛丽丝"全美技术奖",这也是至今美国女性唯一获此殊荣的人。

值得一提的是,现如今令我们头疼不已的程序故障之所以被称作“Bug”,是因为1946年,她在一台发生故障的计算机的继电器触点里,找到了一只被夹扁的小飞蛾,正是这只小虫子“卡”在里面妨碍了机器的运行。

葛丽丝顺手将飞蛾夹在工作笔记里,并诙谐地把程序故障称为“Bug”。Bug的本意是“虫子”,这一称呼后来演变成计算机行业的专业术语。虽然现代电脑再也不可能夹扁任何飞蛾,大家还是习惯地把排除程序故障叫做“Debug”。


对世界上女程序员影响最大的人


安妮塔·博格(Anita Borg)是一位技术非常厉害的计算机科学家,也是女程序员的有力倡导者。1981年, 安妮塔·获得纽约大学的计算机科学博士学位。

毕业后,安妮塔·致力于Unix的操作系统的研究,获得了高速记忆系统分析和设计的专利,之后又着手于电子邮件的开发。

1987年,安妮塔·又开始涉足于Systers邮件列表的制作,并于1997年创立女性与技术研究所,目标是鼓励更多的女性加入到与计算机科学技术有关的工作中来。

为了纪念这位著名的女程序员,2013年,谷歌在中国顶尖高校启动了“安妮塔计算机学科女性奖学金”,奖励计算机科学及相关技术学科的女性学生,本科生获奖者每人将获得人民币8000元的奖金,研究生获奖者每人将获得人民币10000元的奖金。毫不夸张的说,安妮塔·绝对是迄今为止对世界上女程序员影响最大的人物。


第一位做游戏开发与设计的女程序员 


Joyce于1958年出生于新泽西州。她的父亲是一名逻辑游戏的忠实粉丝,并成功地为自己的家庭组装了一台电脑。这为Joyce日后走上编程之路创造了良好的环境。

1976年,年仅十八岁的Joyce首次进入RCA Cosmac VIP开始编写演示游戏,先后写出了Snake Race和Jackpot两款程序。

接着开始了TV Schoolhouse I项目。她先是花了一周的时间编写简单的游戏程序,然后在他父亲的FRED原型机上工作,用纸笔记写出汇编代码,最后用十六进制键盘输入内容。那时的计算机远没有现在这么先进,她每次只能输入一条指令。她为此付出的代价之大可见一斑。

此后的Joyce没有停下敲代码的手,先后完成了Speedway、Tag、Slide、Sum Fun和Sequence Shoot等一系列游戏程序。

Joyce曾对人说她自己并不是特别想成为一位女性电子游戏开发者,但事实是她的确是第一位从事电子游戏开发的女程序员。


世界上最伟大程序员


上世纪60年代,美国率先启动了“阿波罗”登月计划,那时24岁的玛格丽特·汉密尔顿(Margaret Hamilton)数学系本科刚毕业,本无意提出软件的概念的她机缘巧合之下进入了MIT 仪器实验室,与众多男程序员一起开发阿波罗计划中航天器搭载的飞行软件。

阿波罗11号在着陆月面的3分钟之前,忽然警报大作,轨交雷达发来了大量的数据涌入电脑存储区,千钧一发之际,玛格丽特首创的“异步处理程序”教会电脑如何抉择,这才有了阿姆斯特朗“我的一小步,人类的一大步”的史诗。由于有效地防止了阿波罗 11 号登月计划的失败,她被称为“挽救了阿波罗登月计划的奇女子”。

2003年,玛格丽特获得NASA特殊空间法科学和技术贡献奖。2016年,她获得了奥巴马总统自由荣誉,这是美国最高的民事荣誉。

后美国媒体IT world发起投票,评选还在世的“世界上最伟大程序员”,玛格丽特排名第一。


第一台计算机的程序出自六位女性


1946年2月14日,世界上第一台现代电子计算机埃尼阿克(ENIAC)诞生在美国。说出来也许你不会相信,这台闻名于世的计算机的程序实际上是由六位女数学家编写的,她们曾付出的努力没有与ENIAC一同被世人熟知。

二战期间,美国军方招募了一批数学能力出色的女数学家来到费城,负责手算弹道轨迹,即导弹从离开炮膛的时刻开始,到击中8到10英里外目标这个过程中的路径。之所以招募女性,是因为符合条件的男性都加入到其他的战争形动中去了。她们以微分方程作为计算工具,手工计算弹道轨迹,被当时的军队称作“计算机”。

后来军方意识到对轨道计算的需求越来越多,速度也要求越来越快,因此成立了一个高度实验性的项目:建立电子数字积分器和计算机,简称ENIAC,目的是实现弹道方程自动化。军方最后选中了这批“计算机”中的六位杰出女性给ENIAC编程。她们的名字分别是Frances Betty、Snyder Holberton、Jean  Jennings Bartik、Kathleen  Kay  McNulty  Mauchly Antonelli、Marlyn  Wescoff  Meltzer、Ruth Lichterman Teitelbaum和Frances Bilas Spence。

那时没有编程语言,没有手册,没有编译器,也没有操作系统,她们不得不自己一点点弄清楚如何给这个庞大的机器下指令。功夫不负有心人,最终,她们成功地为ENIAC研发出了一套适用的程序。


向所有女程序媛们致敬


看完上面的故事,你有没有感叹一句:女生可别当程序媛,不然男程序员的饭碗……

所以为了感谢程序媛的辛苦付出,CSDN (ID:csdnnews)携手机械工业出版社华章公司在今天的女王节里为大家带来一波福利,精选出 10 本最实用的技术图书以助所有的开发者们早日登上技术金字塔的顶端。


1


Kubernetes进阶实战



作者:马永亮 著

马哥教育CEO马永亮历时两年精心打磨K8s学习宝典!基于Kubernetes 1.12,重点话题全面覆盖,提供代码下载以及配置清单。


2开发者测试


作者:王兴亚 王智钢 赵源 陈振宇 编著

程序员讨厌给自己的程序写测试,更讨厌那些不给自己程序写测试的人。

本书从开发者测试角度来介绍相关测试方法、技术、工具和平台,具有很强的针对性,旨在培养和提高开发者的软件测试能力和水平。


3语义Web编程


作者:[美] 托比·塞加兰(Toby Seqaran),科林·埃文斯(Colin Evans) 等

一本面向语义Web编程的经典教材,可以帮助初学者快速掌握相关的编程基础。展示了使用现有和最新发展的标准和技术来实现语义Web应用程序的几种方法。


4企业数据湖


作者:[印度]汤姆斯·约翰,潘卡·米斯拉著 

GE Aviaion Digital公司CTO Thomas Benjamin亲笔作序推荐;从软件工程师、架构师角度出发,系统阐述数据湖与Lambda架构原理及实践。


5企业私有云建设指南


作者:孙杰 山金孝 张亮 张婷婷 著

资深云计算专家、架构师和运维技术专家撰写,9位行业领袖和技术专家联袂推荐;基于VMWare和OpenStack两种解决方案,从技术选型、规划和建设、设计和部署、平台建设和管理、优秀实践、成熟度评估6个维度展现私有云建设的全景图。


6机器人ROS开发实践


作者:无为斋主 编著 

智能硬件和人工智能领域的资深专家撰写,机器人开发领域比较全面、系统的入门书籍,紧紧围绕工程实践进行内容和章节安排,不要求多好的数学基础,也没有过多的抽象理论,示例丰富、贴近实战,特别易于理解和上手实践。


7TensorFlow深度学习实战


作者:[波兰]安东尼奥·古利,[印度] 阿米塔·卡普尔 著

本书将介绍如何有效地使用Google的开源框架TensorFlow进行深度学习。通过学习,你将实现不同的深度学习网络,如卷积神经网络(CNN)、循环神经网络(RNN)、深度Q learning网络(DQN)和生成对抗网络(GAN),以及如何使用TensorFlow的高级封装Keras工具。


8面向自然语言处理的深度学习:用Python创建神经网络


作者:[印]帕拉什·戈雅尔,苏米特·潘迪,卡兰·贾恩 著 

通过解决dropout、池化和归一化层的难题,探索并开发你自己的深度学习网络;获得关于强化学习以及如何使用上下文特定的行为令人兴奋的介绍;在Tensorflow和Keras中使用叠加双向LSTM创建自己的聊天机器人。


9Flutter技术入门与实战


作者:亢少军 著

谷歌开源移动UI框架Flutter零基础快速入门读物。资深架构师撰写,从基础组件的详解到综合案例,从工具使用到插件开发。


10网络空间安全防御与态势感知


译者:黄晟 安天研究院

系统介绍网络空间安全态势感知的基础理论文献;全面解析网络安全态势感知的内涵、实现框架和前沿问题;重量级序言深入解读领域研究成果和产业实践。

赠书规则

  1. 在下方留言,分享「有个程序媛女朋友/同事,是种怎样的体验?」,并写出对以上感兴趣的书籍,格式为“感受分享+书名”;

  2. CSDN 小姐姐会把有价值的评论放出(由于只可以放出100条留言,所以仅限前100名);

  3. 最终按评论的质量、点赞数优选出 10 位中奖的小伙伴,点赞数越高,获奖的几率越大哦;

  4. 截止时间3 月 10 日 17:00

最后,祝大家女王节快乐!对于迫不及待想要通过以上图书即刻充电的宝宝们,在此 CSDN 也向大家推荐一款官方正版且不贵的「码书商店」,以上类型的图书只在今天 75 折包邮哟~~

声明:正文部分均由作者素年清时整理,人物图片来源于网络。

作者简介:素年清时,90后程序猿,伪文艺青年。目前就职于知名互联网公司,白天敲代码,深夜码字。

 热 文 推 荐 

☞从程序媛到全球研发副总裁,技术女神进击史!

☞直男不懂女人心?10953 条数据告诉你女王节送什么口红色号!

☞可折叠的 iPhone 要来了?

☞程序员撒狗粮!3 天开发自己的婚礼小程序!

☞300道Python面试题,备战春招!

☞5年Go语言经验薪资翻倍! 这份全球职业报告中, 区块链开发者薪资排第三, 前两名你绝对想不到!(含完整版下载资源)

☞女神节 |  那些奋斗在IT领域的“女神”们

☞没有一个人,能躲过程序员的诱惑!

System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

喜欢就点击“好看”吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存