以下答案已分段 大家不要喷了 我对不起你们
——————————————————————
本人纽约大学计算机专业, 女,rising junior。 上学期一节OOP 课 professor出题非常刁钻 两次midterm 分别57 和 59, final 考完当天晚上就趴在床上开始哭(final考完了是38,都是100分为满,最后这门课拿了D+)。
那是我第一次把我学计算机的委屈发泄出来, 其实一直都不太轻松。我自己也怀疑自己很多次,是不是真的学计算机需要超高的智商?是不是女生真的不适合学计算机?我自己本人就经常去网上搜这样的答案。可慢慢的我就会想,即使我去查了我在期待怎样的答案?是期待答案说:“是,女孩子和男孩子不太一样,就是不太适合做这一行,学学艺术什么的多好” 。还是期待答案说:“男女并没有什么不同,男孩子可以做好的女孩子也可以做好,学业发展不应该以性别作为评判标准”。这两种答案我的脑海里都设想过,网上找到的答案也无非是这样。
但当我第二学期重修这门课,去再次学习这些东西,我发现之前我得到了那样糟糕的结果是可以理解的。C++ OOP精髓inheritance,copy control,pointer这些我在prof上课的时候听的就很吃力,prof讲了一些背后的原理, 为什么得出那样的结果,为什么compile error 我其实一知半解,我是为了准备考试而去学习那些知识点, 对为什么得到的那些结果,也不过是利用了点小聪明考试前随便记一记。当我真正再把那节课重修一遍拿了A,我才发现之前写的代码是有多么不规范, 思路是有多么不清晰,一切结果变得有章可循。当我真正理解了prof为什么上课讲那么多看似课本上一带而过的原理,理解了他为什么会在一道选择出13个选项,问我们哪里compile error以及对应的原理时,一切才都刚开始豁然晴朗。
直到这个暑假还是在写C++, Game Programming,用到的依旧是OOP,我才慢慢发现我也开始对自己有一些“code elegance”的要求。 我也会下意识的去想哪一种inheritance 形式是我想要的,哪一种结构是会让我写庞大的game 的时候后续不会焦头烂额,用过的结构不会因为功能实现而需要推倒重来。加上这个暑假在刷leetcode,我慢慢发现我的思路在变得越来越严谨,写代码不再无章可循,思路如乱麻,不知从哪里下手。
然后我慢慢找回了我当初在身边众多人不理解的情况下(我家所有人都做金融)选择了读计算机理由:因为我想做这些有挑战的事情,我想学会一项技能,这项技能可以对我人生的发展有重大帮助,让我学会一种技艺,让我的思路更加敏捷更加严谨,让我做事情条条有理,更好地理解这个世界运作的方式,做一个明白人。现在觉得自己终于有这样的觉悟也算是给当初两三年前迷迷糊糊得确作出正确选择的自己一个答复。
记得之前知乎看到一个问题:leetcode做不出来跟智商有关系吗?(是的前段时间刷题让我怀疑人生又去搜这种问题)有一个让我看完立刻释然非常开心地闭上眼睛入睡的答案:再难也不会有高考数学难 (这里大佬不要反驳,我觉得还是有点东西的)。想到了之前和妈妈打电话妈妈安慰我说,“一步一步来,计算机对你来说是个新东西,高中的时候也没有接触过, 像数学你从小就开始学,现在学数学才觉得轻松,熟能生巧,感觉来了就好了,你小学学奥数的时候学不会我也是气的不行,后来慢慢就开窍了”。所以现在的我看见繁复的算法,即使还是会精神紧张,会往后退缩,但我更愿意去花时间一遍遍去看背后的原理,一点点攻克。
如果再问我女生适合学编程吗?我会告诉你,女生学编程不会是件轻松的事,但它和学任何事情都一样。它困难,并不是因为性别。如果你觉得自己学这个只是因为这个有钱途(我在北美,cs的工作还是很好找),那我劝你不要把钱途赌在学习编程上。如果你刚开始选择了这个是因为它背后可以带给你新的思考方式和一种解决问题的方式, 那我鼓励你继续向前,就像我一直一直鼓励自己那样。
古语云,男耕女织。织,就是编。
除了明确需要大量男性肌肉力量参与的专业和工作之外,没有什么特定的专业,是不适合女性学习的;没有什么特定的工作,是不适合女性从事的。
在几乎所有专业和工作岗位上,女性理应也有权利去做出与男性等同的贡献,承担与男性等同的责任,创造与男性等同的价值,以及最为重要的,获得与男性等同的经济报偿和社会尊重。