大学生活的第一周,苏念过得很充实。
白天上课,晚上写代码。课程对她来说毫无压力——C语言、高等数学、线性代数、大学英语,这些东西她前世全学过,现在不过是重新走一遍流程。
真正让她投入精力的,是校园二手交易平台的开发。
她给这个平台取了个名字——”易转”。
功能很简单:学生注册账号,发布闲置物品,其他学生浏览、联系、交易。类似于一个校园版的分类信息网站。
技术栈用的是PHP+MySQL+HTML/CSS/JavaScript,和她暑假做企业网站用的一样。但”易转”比企业网站复杂得多——需要用户注册登录系统、商品发布和管理系统、搜索功能、站内信功能,还有一个简单的信用评价系统。
苏念每天晚上在宿舍写代码到凌晨一点,方晓薇和周雨桐也跟着她学,帮忙做一些前端页面和数据库设计的工作。
三个女生的宿舍,活生生变成了一个小型创业工作室。
隔壁宿舍的男生路过的时候,经常能听到里面传来键盘声和讨论声。
“312的女生又在加班了。”
“她们在搞什么?”
“听说在做一个网站。”
“女生做网站?能做出什么来?”
这种话,苏念听过太多了,懒得理会。
——
第二周,数据结构课。
这门课的老师是一个年轻的副教授,姓林,三十出头,海归博士,讲课风格很活跃。
“今天讲链表。”林老师在黑板上画了一串方块和箭头,”链表是最基础的数据结构之一,谁能告诉我,链表和数组的核心区别是什么?”
一个男生举手:”数组是连续内存,链表是非连续内存。”
“对,但不够。”林老师看向全班,”还有呢?”
苏念举手:”数组的随机访问时间复杂度是O(1),链表是O(n)。但链表的入和删除是O(1),数组是O(n)。所以选择用哪个,取决于你的使用场景——读多写少用数组,写多读少用链表。”
林老师点了点头:”很好。苏念同学说得很到位。”
坐在苏念斜后方的一个男生小声嘀咕了一句:”背书谁不会啊。”
声音不大,但苏念听到了。
她没有回头。
林老师继续讲课,讲完理论后,照例出了一道上机题:
“实现一个双向链表,支持头、尾、删除、查找、反转五种作。时间限制:三十分钟。”
键盘声响起来。
苏念开始写代码。双向链表是基础中的基础,她闭着眼都能写。但她不打算随便应付——她要写一个工业级质量的实现,包括完善的边界检查、内存管理和错误处理。
十五分钟,写完了。
她举手。
林老师走过来看了看,眉毛挑了起来。
“你这个实现……”他仔细看了一会儿,”内存分配用了池化技术?”
“对。频繁的malloc和free会产生内存碎片,用内存池可以避免这个问题。”
林老师看了她好几秒,然后笑了:”苏念同学,你确定你是大一新生?”
全班笑了。
苏念也笑了:”确定。只是自学了一些东西。”
“一些?”林老师摇了摇头,把她的代码投影到大屏幕上,”同学们看看,这是苏念同学的实现。注意她的内存管理方式和错误处理——这不是教科书上的写法,这是工程实践中的写法。”
大屏幕上,苏念的代码整整齐齐地排列着,注释清晰,结构分明。
全班安静了。
那个刚才说”背书谁不会”的男生,脸色有点不好看。
下课后,苏念收拾东西准备走,那个男生拦住了她。
“苏念同学。”
苏念抬头看他。男生长得挺高,浓眉大眼,前的校牌上写着”赵鹏飞”。
“你的代码确实写得好。”赵鹏飞的语气有点僵硬,像是在努力维持礼貌,”但我想说,课堂上的表现不代表真实水平。编程这个东西,还是要看经验。”
苏念看着他,表情平静。
“你的意思是?”
“我的意思是——”赵鹏飞顿了一下,”你是很聪明,但计算机这个行业,光聪明不够。需要长期的积累和投入。女生在这方面……”
他没说完,但意思已经很明显了。
苏念歪了歪头。
“赵鹏飞同学,你刚才那道链表题做了多久?”
赵鹏飞的脸色变了一下:”二十八分钟。”
“我十五分钟。而且我的实现比你多了内存池和错误处理。”苏念的语气不急不缓,”你说编程需要长期积累和投入,我同意。但你用’女生’这个标签来质疑我的积累和投入,这就好比——”
她想了想,找到了一个精准的比喻。
“这就好比你写了一个程序,不去检查它的输出是否正确,而是先检查写这个程序的人是男是女。这种行为在我们行业里有个名字,叫’无关变量扰’。建议你在评估一个程序员的时候,关注代码质量而不是染色体。”
赵鹏飞的脸涨红了。
旁边几个男生忍不住笑了出来。
“我不是那个意思——”
“那你是什么意思?”苏念看着他,眼神平静但锐利,”如果你觉得我的代码有问题,欢迎指出来,我虚心接受。但如果你只是因为我是女生就觉得我不行——”
她微微一笑。
“那我建议你去看看我的代码,再看看你的,然后想想到底是谁不行。”
说完,她拿起书包走了。
方晓薇和周雨桐跟在后面,方晓薇激动得脸都红了:”念念你太酷了!’关注代码质量而不是染色体’——这句话我要记一辈子!”
周雨桐推了推眼镜,难得露出了一个笑容:”说得好。”
苏念摆了摆手:”没什么,习惯了。”
习惯了。
前世十二年,她听过太多类似的话。
“女生写什么代码?”
“女程序员能有什么水平?”
“你一个女的,能看懂这个架构?”
每一次,她都选择沉默,选择用加倍的努力来证明自己。
但沉默没有用。
你越沉默,他们越觉得你默认了。
这辈子,她不沉默了。
你质疑我?行,拿代码来比。
比不过?那就闭嘴。
——
晚上,宿舍里。
苏念坐在电脑前继续写”易转”的代码,方晓薇趴在旁边看。
“念念,你说赵鹏飞以后还会找你麻烦吗?”
“不会。”苏念头也不抬,”他不是坏人,只是有偏见。偏见这种东西,用事实打几次就好了。”
“你好像一点都不生气。”
“生气浪费时间。”苏念敲下一行代码,”与其生气,不如写代码。代码不会歧视你,它只看你写得对不对。”
方晓薇沉默了一会儿,忽然说:”念念,我以前也被人说过’女生不适合学计算机’。高中的时候,我参加信息学竞赛,教练一开始不想让我报名,说’女生拿不了奖,浪费名额’。”
“后来呢?”
“后来我拿了省二等奖。”方晓薇笑了,但笑容里有一丝苦涩,”教练说’你是个例外’。”
“你不是例外。”苏念停下手里的活,转头看着她,”你是被低估了。所有被说’不适合’的女生,都只是被低估了。”
方晓薇的眼眶红了一下,但很快就恢复了。
“所以你才要做那个平台?”
“平台只是开始。”苏念转回屏幕,继续敲代码,”我要做的事情很多。但第一步,是先证明自己。”
“怎么证明?”
苏念的手指在键盘上停了一下。
“ACM。”
“ACM?”方晓薇瞪大了眼睛,”你要参加ACM竞赛?”
“对。”苏念的嘴角微微上扬,”而且我要拿金牌。”
方晓薇倒吸一口凉气。
ACM国际大学生程序设计竞赛,全球最顶级的编程竞赛。华清每年都会派队参加,但能拿金牌的凤毛麟角。
而苏念说要拿金牌,语气就像在说”明天要吃食堂”一样随意。
“你认真的?”
“从没这么认真过。”
苏念看着屏幕上的代码,眼神明亮。
ACM竞赛,是她在华清的第一个大目标。
不是为了奖牌本身,而是为了一个舞台。
一个让所有人看到的舞台。
让他们看看,一个女生,能在编程这个领域走多远。