女人开创了计算机编程,男人把它接管了

如何学习及计算机编程,入门看这一篇就够了---以c语言为例 如何入门c语言,简短的一篇方法带你打破困境。 阅读详情

看到这个标题,你可能觉得不可思议,在男程序员占据绝对多数的软件行业,居然是女生开创的?

01

先行者

早在1843年,诗人拜伦之女,数学家Ada Lovelace就设计了一个计算努利数数的方法, 这个方法的独特之处在于,可以被一个叫做巴比奇分析机的计算机来执行, 也就是我们现在面试必备的“算法”,所以,Ada也被公认为是世界上第一个程序员。

1945~1946年间,世界上第一台电子计算机ENIAC建成,这个庞然大物的的硬件主要由男生主导建造, 但很多基础的软件却由Jean Bartik和其他5个女同事完成的。

当时的编程可不像现在那样,有高级编程语言,有强大的IDE。她们只有逻辑图,然后通过拨弄各种开关,插拔各种电缆才能把程序“弄”到ENIAC进去,没有非凡的数学能力和计算能力是做不了“程序员”的。

ENIAC公开演示的前一晚出现了故障,Jean Bartik 和 Betty Snyder 挺身而出,及时解决了这个问题, 使得第二天的演示能顺利进行。 

演示非常成功,但是在当时软件没有地位,不受重视, 这几位女程序员在新闻图片中连个名称都没有,甚至没有被邀请参加庆祝晚宴。

02

Bug

二战结束以后,Jean Bartik和她的程序员团队开始在UNIVAC上编程,这是第一个商用的计算机,在这里她们遇到了Grace Hopper。

当时的计算机编程需要输入大量的数字,这太复杂,非常不直观,Hopper一直在寻求一种使用单词来代替数字的方法,1959年她带领团队创造了一种编程语言,可以用英语来对计算机编程,这就是COBOL。

COBOL在商业计算领域非常流行,今年疫情期间还爆出来一个有趣的事情,美国新泽西州有个失业金救济系统,就是用COBOL写的,已经运行了40多年了,疫情期间新泽西州有大量失业救济申请,这个系统应付不过来,出现了故障,急需COBOL程序员来修复,可是会COBOL基本上都是爷爷辈的程序员了。

1947年,Hopper和她的团队在Harvard Mark II计算机上工作时,电脑不知道为什么不能正常工作了。经过Hopper的深度挖掘,发现原来是一只飞蛾意外飞入电脑的内部的继电器中, 造成短路而引起的故障。她把飞蛾“揪”了了出来,并在日记本中记录下了这一事件。从这以后,程序届开始用“Bug”(原意为“虫子”)来称呼计算机中隐藏的错误。

Hopper后来成为美国海军少将

03

软件工程师

在那个年代,男人们的兴趣还集中在硬件上,他们认为才是硬件是最难的,最有意思的事情。 软件是微不足道的一部分,就像“文书”工作一样, 无聊无趣,待遇又很低。

所以当Margaret来到NASA,加入阿波罗登月计划的时候,她费了很大的劲向那些男人们解释软件是怎么回事,是怎么工作的。

在NASA工作期间,Margaret带领100多人的团队进行载人飞船软件的开发,这是人命关天的软件,Margaret必须保证它非常非常可靠。

在阿波罗11号登月那关键的3分钟内,只有1024字节内存的计算机出现了过载,发出大量1202程序警报,几近崩溃, 这是千钧一发的时刻, 30多万技术人员,8年耗资250亿美元的工程可能毁于一旦,能不能登月成功,就寄希望于Margaret写的软件了。

Margaret设计的系统顶住了所有的压力,软件检测到了错误,剔除了低级别的雷达处理任务,把最宝贵的空间留给最重要的任务:让鹰号飞船着陆。

(Margaret团队编写的登月软件)

这位伟大的女程序员发明了一个词:软件工程师,以此来称呼包括自己在内的程序员。

她说:希望人们给与做软件的人以应用的尊重,因为他们和硬件工程师一样,在一个宏大的系统中作贡献。

04

抹黑

在上世纪50年代, 有30%到50%的程序员都是女生,Hopper说:编程就像准备晚餐,你得做出计划,把所有的东西安排好......  对女生来说,当一个程序员是很自然的。

到了60年代,事情发生了变化,编程开始被视为复杂的智力工作,不再是简单的“文书”了,薪水也开始显著上涨,越来越多的男生对编程感兴趣,他们用了不正当的手段去排挤女程序员, 正如历史学家Nathan Ensmenger所披露的,一些专业组织发布抹黑的广告营销,阻止女性担任编程的工作;

公司招聘时也会针对女性设置障碍,比如有个性测试说优秀的程序员都有反叛的特质,很明显,这是男性所拥有的。

与此同时,《战争游戏》、《奇怪的科学》、《真正的天才》这样的电影也起到了推波助澜的作用,这些电影的情节几乎可以互换:古怪的电脑天才男孩通过高超的技术击败反派,得到了女孩的芳心。

05

拐点

80年代是真正的拐点, 个人电脑的流行改变了一切,PC的销售目标几乎全是男生,比尔·盖茨,史蒂夫·乔布斯等技术极客的出现更加强化了这一印象:PC是男生的好伙伴。

20世纪90年代,研究员简·马戈利斯调查了卡内基梅隆大学的数百名计算机科学学生, 她发现,家长们更愿意给男孩们买电脑,虽然女孩们也对电脑非常感兴趣。 这就造成了一个非常恶劣的后果:男生的电脑玩得贼溜,女生被远远抛在了后面。

在大学在招生的时候, 期望计算机科学系的学生已经具备很熟练的电脑使用经验, 女生就不太可能被录取了。


Source: National Science Foundation, American Bar Association, American Association of Medical Colleges

Credit: Quoctrung Bui/NPR

图中红色曲线表示计算机专业,从1985年开始,学习计算机专业的女生开始显著下降,到2011年,只剩下17%。

男生事实上已经接管了这个行业。

06

尾声

看完了美国的故事,再来看看国内的状况。

中国软件行业起步很晚, 90年代才出现第一批程序员,数量本身就很少,女生程序员就更少了。

经过20多年的发展,国内互联网非常发达,为什么女程序员还很少呢?道理很简单,编程工作绝不仅仅是白领的脑力劳动,已经变成996的体力劳动了!天天加班,疯狂起来要搞通宵,这么一个令人生畏的行业,肯定会吓跑了一大批女生。

女生做了程序员,白天要上班赚钱,回去还要做家庭主妇,照顾家里,辛苦可想而知,很难做到平衡,更不用说结婚、生子这样对职业发展有重大影响的事情了。

这不是说女生不适合编程工作,恰恰相反,女生沉静和细腻的性格非常适合,我也见过不少非常优秀的程序媛,这篇文章纪录了几位:《我所尊敬的三位女程序员》

参考资料:

https://en.wikipedia.org/wiki/Ada_Lovelace

http://eniacprogrammers.org/

https://hackernoon.com/a-brief-history-of-women-in-computing-e7253ac24306

https://timeline.com/women-pioneered-computer-programming-then-men-took-their-industry-over-c2959b822523

https://www.npr.org/ps/money/2014/10/21/357629765/when-women-stopped-coding

架构师劝退指南

Java每次遇难,总会有大神拯救

你们这些偷代码的程序员!

程序员的宿命

芯片战争70年,真正的王者即将现身!

干掉软件开发的最大怪兽:狼人!

宇宙第一IDE到底是谁?

HTTP Server :一个差生的逆袭

如何降低程序员的工资?

程序员,你得选准跑路的时间!

两年,我学会了所有的编程语言!

Javascript: 一个屌丝的逆袭

我是一个线程

TCP/IP之大明邮差

一个故事讲完Https

CPU 阿甘

[附源码]计算机毕业设计Python财务管理系统(程序+源码+LW文档) 该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程项目运行环境配置:Pychram社区版+py项目技术:django + python+ Vue 等等组成,B/S模式 +pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版本理论上也可以。2.pycharm环境:pycharm都可以。推荐pycharm社区版;3.mysql环境:建议是用5.7版本均可。 阅读详情

相关推荐

how2heap 深入学习(1)

how2heap glibc 2.23学习

CoLin的pwn小屋 3180

【JavaScript学习笔记】计算机编程基础

【JavaScript学习笔记】计算机编程基础 计算机编程基础【JavaScript学习笔记】计算机编程基础1.编程语言1.1 编程1.2 计算机语言1.3 编程语言1.4 翻译器1.5 翻译语言和标记语言的区别2.计算机基础2.1 计算机组成2.2 数据存储2.3 数据存储单位2.4 程序运行 1.编程语言 1.1 编程 编程:让计算机1为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。 计算机程序:计算机所执行的一系列的指令集合,而程序全部都是用我们所掌握的语言来编写的,所以 人们

Cherish_hyx的博客 851

基于STM32的智能家用节能控制系统设计

该系统可以实时监测家庭的环境参数,如温湿度、光照强度和人体存在情况,根据设定的节能策略自动控制灯光、空调、风扇等家电设备,从而降低不必要的能源消耗。该基于STM32的智能家用节能控制系统通过多种传感器实现了对家庭环境的实时监测,并结合继电器控制模块实现了对家电设备的自动化控制,从而达到节能减排的效果。根据传感器获取的数据,判断是否需要开启或关闭家电设备,从而降低不必要的能源消耗,达到节能的目的。:继电器的控制引脚连接至STM32的GPIO引脚(如PB0、PB1),用于控制灯光、风扇、空调等家电设备的开关。

stm32d1219的博客 1246

计算机科学与技术专业分析(非常详细)零基础入门到精通,收藏这一篇就够了

从网络安全专业学习的主要内容来看,包括linux运维、Python开发、渗透测试、代码审计、等级保护、应急响应、风险评估等。计算机科学与技术是一门涉及计算机理论、设计、开发、应用和管理的综合性学科,主要研究计算机的设计与制造,包含计算机软件、硬件的基本理论、技能与方法,以及计算机系统和软件的开发与维护、硬件的组装等。具体而言,大众所说的“会操作计算机”,也就是会使用一些现成的软件,而计算机专业的学生要远远高于一般的使用者,要研究如何更好地设计、制造计算机,更好地开发计算机的新系统、新软件、新功能等等。

leah126的博客 5952

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口)

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口) 之前写了一篇关于C++调用海康相机SDK采集图像的文章,有很多人私下发送消息咨询了一些问题,由于工作繁忙,只答复了一部分问题,今天抽出时间从头梳理了一下大家提出的问题,把我能够回答的问题都解答一次。上一次的程序只是简单的实现了图像的采集,没有使用到线程,今天把程序重新做出调整,把线程和多态加进去。文章最后有项目的下载地址。 我使用的是QT Creator这个IDE,版本信息如下: 我把相机采集的图像转换为openC

大樱桃的博客 1万+

libjpeg-turbo图片解码 VS opencv

本文对比了libjpeg-turbo和opencv在图像解码层面的耗时情况,及解码数据是否存在diff

优快云_WHB的博客 834

计算机编程是什么_什么是计算机编程?

计算机编程是什么 Programming is a creative process that instructs a computer on how to do a task. Hollywood has helped instill an image of programmers as uber techies who can sit down at a computer and break ...

cumao2792的博客 3586

gem5 prefetcher

最近在gem5上做预取实验,添加自己的预取算法,这里采用hardware stream prefetcher , 修改了几个bug才给实验调试通过,发文记录下实验过程。 gem5上添加自己的预取算法步骤: (1)路径gem5-master/configs/common/Caches.py下,开启预取:class L1Cache(Cache): assoc = 2 tag_late

编程邦 3844

什么是计算机编程?

Computer Programming is the act of creating programs, software, and applications. In order to create computer programs, some programming or scripting language is used by providing instructions. Even c...

cunjiu9486的博客 3819

6、云计算中的多核技术:架构、并行性与局限性

本博文深入探讨了云计算中多核技术的架构、并行性及其局限性。文章详细介绍了多核处理器的基础概念、并行硬件和软件的设计原理,并对硬件和软件并行性进行了分类和分析。同时,文章讨论了多核架构在实际应用中面临的挑战,如功率墙、内存墙和ILP墙等问题,并提出了应对策略。此外,还总结了多核技术在高性能计算、实时处理和云计算等领域的应用机遇。文章旨在帮助读者更好地理解多核技术的关键问题,并为未来的技术探索提供方向。

java5的博客 122

农业生产AI决策系统架构设计解密:数据层-模型层-应用层核心逻辑

想象一下,在一个炎热的夏日,传统农田里的农民伯伯正满头大汗地检查每一株玉米是否缺水;而几公里外的智慧农场里,一位年轻农民正在空调房里滑动手机屏幕,看着AI系统自动生成的灌溉计划——这就是农业生产AI决策系统带来的改变。本文的目的,就是要揭开这个"智能农业大脑"的面纱,详细讲解它的"身体构造"(架构设计)和"工作原理"(核心逻辑)。我们将聚焦系统最核心的三个部分:数据层(收集农田信息)、模型层(分析信息并思考决策)和应用层(将决策告诉农民)。

AI智能探索者的博客 1327

编程课主要学什么?电脑编程有哪些?(非常详细)从零基础到精通,收藏这篇就够了!

电脑编程有Java、BASIC C、C++、VB、VF、SQL、网页编程JSP、ASP、PHP等。电脑编程是指使用一种或多种计算机语言来编写程序的过程,这些程序可以让计算机执行特定任务,编程不仅限于软件开发,还包括网站构建、游戏设计、数据分析、人工智能等多个领域。编程语言是程序员与计算机沟通的桥梁。Python:Python是一种解释型的高级编程语言,因其简洁的语法和强大的功能被广泛应用于科学计算、数据处理、Web开发等领域。Python易于学习、可读性强,支持面向对象编程、函数式编程等多种编程范式。

Javachichi的博客 3310

YOLOv12创新改进 | 全网独家创新篇、小目标检测改进 | AAAI 2025 | 引入HS-FPN中的HFP和SDP创新点,从频域增强小目标特征,淘汰FPN进行升级,助力YOLOv12有效涨点

本文提出了HS-FPN(高频和空间感知特征金字塔网络),通过HFP(高频感知)模块增强小目标特征,SDP(空间依赖感知)模块捕获像素间空间依赖关系。实验在AI-TOD等小目标数据集上验证了该方法的有效性,相比FPN显著提升检测性能。文章详细介绍了HS-FPN的网络结构、核心代码实现及在YOLOv12中的应用方法,并提供多种改进版本的yaml配置文件,为小目标检测任务提供了有效的解决方案。

Ai缝合怪、助力小伙伴高效发论文 337

程序媛, 是时候站出来成为榜样了!

专栏 | 九章算法网址 | http://www.jiuzhang.com 有很多女生在转行学CS的时候,都曾有这样的困惑: “很多人都觉得女生在计算机行业比不上男生, 我能在这个行业坚持下去吗? ” 然而,正是被人们遗忘了的女程序员们创建了现代科技、创立了这个领域、彻底并永远地改变了科技的世界。有研...

九章算法的博客 871

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

骨灰级程序员告诉你,怎样学习编程,才能快速从0基础,变成编程大师

本文章向大家介绍,怎样学习编程,才能快速从0基础,变成编程大师,主要包括骨灰级程序员告诉你,怎样学习编程,才能快速从0基础,变成编程大师使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。1、做一名程序员,绝对要耐得住寂寞,并且要一直有点兴趣促进你学习。如果你完全没兴趣,你是不可能学会编程。2、能抗压。咱干程序员这一行业,没填几乎都是面对枯燥的代码,经常要面临着加班,除非你特意去很轻松的公司上班。满足了这两点,那就开始努力学习吧。

m0_58477260的博客 2万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

用C处理字符串:键盘输入“yes”,则输出“ok”;输入其他字符,则输出“Thank you”;

main() { char s; printf("Do you like China?\n"); scanf("%s",&s); if(s=='yes') printf("ok"); else printf("thank you"); } 执行错误。因为输入的不是单个字符,而是字符串,即字符数:s[ ] main() { char s[10]; printf("Do

ZTNN4 4752

什么叫编程---ChatGPT4o作答

内存地址是计算机内存中每个数据单元的标识符,用于指示存储位置。寄存器是CPU内部的快速存储单元,通常用于存储临时数据、计算结果和内存地址,访问速度比内存快得多。在程序执行过程中,内存和寄存器协同工作,寄存器负责存储当前需要处理的数据和控制信息,而内存则负责存储较大规模的程序代码和数据。通过对内存地址和寄存器的理解,你可以更好地把握计算机如何高效地处理数据和执行程序。机器语言是计算机能够直接理解和执行的最低级的编程语言,它是由0和1的二进制码组成,直接控制硬件的操作。

qq_46215223的博客 1531

编程课主要学什么?电脑编程有哪些?(非常详细0从零基础到精通,收藏这篇就够了!

电脑编程有Java、BASIC C、C++、VB、VF、SQL、网页编程JSP、ASP、PHP等。电脑编程是指使用一种或多种计算机语言来编写程序的过程,这些程序可以让计算机执行特定任务,编程不仅限于软件开发,还包括网站构建、游戏设计、数据分析、人工智能等多个领域。编程语言是程序员与计算机沟通的桥梁。Python:Python是一种解释型的高级编程语言,因其简洁的语法和强大的功能被广泛应用于科学计算、数据处理、Web开发等领域。Python易于学习、可读性强,支持面向对象编程、函数式编程等多种编程范式。

Javachichi的博客 2230

新手学计算机编程怎么入门 从哪学起

近些年有一种职业发展很快、人才需求量大、工资高,那就是程序员。他们的基本工作就是电脑编程,开发者各种各样的软件、APP,被很多人膜拜。如果你想成为一名程序员,有必要了解一下这些基本的电脑编程入门教程。

h1453586413的博客 8450

史上最全 | 编程入门指南

兴趣是推动力的不竭源泉,保持这种充满兴趣的感觉,以便于你能将其投入到你的10年/10000小时的编程时间中。那是第一次我有了「开天眼」的感觉,我痛苦地意识到,我对一些学科只有少的可怜的真正的理解,包括我主修的物理与辅修的计算机科学。2、第二个坑没有第一个那么明显:幼稚的「整体论」方法有些时候会显得很有效,这有一定的隐蔽性与误导性,但是一两年过后(也许没那么长),当你在学习路上走远时,再想回过头来「补足基础」会有巨大的心理障碍,你得抛弃之前自己狭隘的观念,耐心地缓步前进,这比你初学时学习基础知识困难得多。

2301_82000445的博客 2140

计算机编程语言大全一览,零基础小白推荐学这个

计算机编程语言大全一览,零基础小白推荐学这个

Python单行客的博客 7964

零基础怎么学计算机编程!看完的你,应该会恍然大悟!

引言 最近几年,人工智能是个很火的行业,于是有很多的人想学习计算机编程,后面简称:编程。 提到编程,你大概会想到与它关联的三门学科:电学、数学和英语。你可能怀着满腔热血,但是想想这三门学科学得不是很好,就没有了信心,就想放弃。 那这到底是不是真相?如果没有这三门学科强大的支撑,到底能不能学编程?想学计编程,0基础从哪里开始入手学习呢? 下面由我来为你一一解答你心中的疑惑。 一、什么是...

HUYA69的博客 1万+

计算机编程入门

计算机编程入门,是所有编程小白面临的最大难题,因为学习毫无思路,又有很多专业术语,所以记忆量特别大,学习起来非常困难。那么如何才能轻松便捷地学编程呢?掌握编程思路,会达到事半功倍的效果。 1、选择一门编程语言 目前的编程语言有六百多种,小到智能手机,大到服务器集群,都运行着各种各样的编程语言写的程序。不过目前比较流行的编程语言只有几十种,所以尽量选择流行程度比较高的编程语言来入门编程。对于没有明确编程场景的初学者来说,尽量选择全场景编程语言,比如Java、Python、C#等就是不错的选择,不.

Ambition_yugurt的博客 3226

程序员自学网站整理大全(非常详细)零基础入门到精通,收藏这篇就够了

有些大厂,例如奇安信,甚至会将渗透岗位分为红蓝两方,对候选人的技术要求比较高,大部分刚入行的新人,也将渗透岗位作为后期的发展目标。①就业环境:网络安全可以在计算机科学与技术、信息通信、电子商务、互联网金融、电子政务等领域从事相关工作,还可以在政府机关事业单位、银行、保险、证券等金融机构,电信、传媒等行业从事相关工作。(有条件请支持实体书)

Libra1313的博客 1万+

计算机小白如何自学计算机编程?(非常详细)从零基础到精通,收藏这篇就够了!

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。学习计算机编程是一个需要持续学习和实践的过程。

Javachichi的博客 2090

Burpsuite 指纹特征绕过

需要高版本 17 + 的 burp 运行插件,可 bypass 网站流量设备的检测,正常抓包。未使用插件前,burp 指纹特征被识别,抓包被拦截。

Javachichi的博客 6642
上一篇: Stack Overflow : 55.9%的Java程序员想“抛弃”Java
下一篇: 假如有人把支付宝所有存储服务器炸了,我们在里边的钱是不是都丢了?
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论 86
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值