第一台真正属于我的电脑
2018年11月的某个午后,阳光斜斜地照进教室的玻璃窗,我在课桌下偷偷摩挲着手机屏幕——表哥刚发来消息:"电脑选好了,戴尔G3 3579,周末带你去提货。"我的心跳突然漏了一拍,笔尖在课本上洇出个墨点。那天放学后,我特意绕路去校门口的ATM机,看着奶奶汇来的6800元(其实5800元,我多赚了点生活费)在屏幕上闪烁,冰冷的金属按键被我的手指按得发烫。
这台深灰色笔记本到来的那个周末,我把自己关在房间整整两天。指尖抚过键盘时,能感受到金属拉丝面板细微的纹路,开机时蓝色呼吸灯像深海鱼群般渐次亮起。小时候总被父母呵斥"别碰主机箱"的台式机,此刻终于有了专属于我的温度。记得第一次成功运行代码的那个深夜,淡蓝色的cmd窗口在黑暗中亮着,我对着那句"Hello World"傻笑了十分钟。
从小海龟到UI梦的萌芽
初识计算机的神奇世界
我第一次真正意义上接触电脑,不是在家里,而是在小学的计算机课上。
学校当时的设备,在我们那片还算不错——每台机子都是独立座位,液晶屏,鼠标光标转得比我脑子还快。老师一边讲,我一边偷偷把极域卡掉,只为找到那个装有《金山打字通》的路径,好继续通关青蛙过河游戏。那时我跟我哥在家组装过电脑,虽说最后电脑也不是我的,但那种"自己动手造点什么"的快感,从那个时候就埋在心里。
编程的第一次成就感
没多久,又开始接触 Scratch。比起小海龟,它简直像个"神奇积木游戏",点一点、拖一拖就能让小猫跳舞,还能做出小游戏。那时我做过一个简陋的"迷宫挑战",结果老师放到班上给全体演示——我整个人坐得笔直,心跳比发言还紧张。后来班里的小伙伴下课都来找我"借游戏玩",那感觉就像自己做了个很厉害的魔术道具。
Office技能的实践
除了这些,Office三件套——PPT、Word、Excel 我也学得津津有味。别的小朋友还在用默认模板做作业展示,我已经在琢磨"怎么让按钮点击之后切换页面,像游戏菜单那样酷"。那时候我甚至会因为找不到满意的字体效果,在PPT里手动一个字母一个字母地"描边"……老师看了直接叫我去全班讲讲"你这动画效果是怎么做的"。
网络自学者的旅程
C语言的初次邂逅
真正接触 C语言的时候,我才发现当年写的小海龟指令、拖拉积木、做演示动画的逻辑,其实早就悄悄在我脑子里打好了基础。什么是语句顺序?怎么控制流程?为什么要用变量?这些在C语言课堂上让人头疼的概念,对我来说反而像是熟悉的老朋友。
自学的夜晚与笔记本
我总觉得,如果没有小学那几年的"玩",我可能不会这么早爱上代码;当室友们在峡谷里厮杀时,我的B站首页悄然铺满了"三天学会C语言"的课程列表。夜深人静时,充电台灯在宿舍床帘里圈出一片光域,我对着"小甲鱼C语言教程",在泛黄的笔记本上记下第37页笔记——那些用三种颜色区分的注释符号,至 今仍静静躺在我的书柜里。
从挫折中学习
谭浩强的"小红书"被我翻出了毛边,第58页关于指针的章节沾着半块饼干屑,那是某个深夜与&符号较劲时留下的战损。渐渐地,我的草稿本上开始出现诡异的涂鸦:用for循环画出的圣诞树,while语句构成的贪吃蛇,还有无数个写着"Segmentation fault"的愤怒表情包。在第47页折角处还留着当时的困惑:"结构体和类的区别到底是什么?"——这个问题的答案,我是在半年后的C#课上突然顿悟的。
从课代表到技术辅导
人生第一次担任"课代表"
到了下学期,因为我 C 语言学得不错,班主任直接点名让我当 C# 的课代表。班主任宣布课代表人选的那个下午,阳光正斜照在教室第三排的金属桌沿上。当我的名字被念出时,粉笔灰在光柱中惊慌逃窜,前排同学转身投来的目光让我耳尖发烫。从此,那个总爱缩在教室后排的男孩,开始学着站在讲台前调试投影仪。
性格的蜕变
成为课代表那天,班主任沈老师拍拍我肩膀说:"你啊,你得多开口说话。"当时我正盯着自己球鞋上开胶的缝隙,耳尖烧得通红,只顾练练点头。而且,我的学号是 27 号,刚好坐在老师讲台正前方的第一排,那种感觉就像——我是"天选之人",逃不了、也躲不开。第一次收作业时,有个男生嬉皮笑脸地说"课代表帮我写呗",我攥着作业本的手指关节发白,突然听见自己说:"我可以教你,但代码要自己写。"那个瞬间,仿佛有某种枷锁"咔嗒"解开。
第一个计算器项目
我们的第一个项目是做一个计算器。老师鼓励我们要有创意,介绍了一些往届学长的作品,大多是外观上的优化。我虽然还不熟练,但一边学一边做,疯狂在网上搜索各种实现方式,UI 组件、按钮交互、功能划分……能看的资料都看,能试的代码都试。最终我做出来一个有下拉分类的科学计算器,不止加减乘除,还有单位换算、科学运算等不同模式,而且我还加了一个可以切换深色模式的按钮。

实战中的成长
虽然 Bug 多得像星星一样闪闪发亮,但整体效果我还是做出来了。 对那时候的我来说,这就是"破局"的感觉。不是照本宣科,不是跟着视频一行一行敲,而是真正靠自己"边查边写",从一堆报错中磨出来的。
(交作业的时候,排队的同学那我手机偷拍我)
从教会别人中学习
期末的数据库项目像一场突如其来的暴雨。当同学们还在纠结MySQL安装包时,我已深陷在conn.prepareStatement()的泥潭里。深夜的QQ群消息此起彼伏:"哲叔,我的ResultSet怎么读不出数据?""起哲,事务回滚到底怎么写啊?""王老师!我的删除功能把整个表清空了!"
那些日子我们像在代码的密林里穿行,每个人手里的火把都照亮彼此的前路。聪哥的戴尔游匣和我G3并排运转,散热口的热气在冷空气中凝成白雾。我们像破解密码的特工,逐行检查着班长(跟我一个宿舍)的JDBC连接字符串,当终于看到数据表成功加载时,此起彼伏的"卧槽"声,成了那年冬天最动听的代码交响乐。
篮球场上的另类修行
篮球场上的意外收获
体育课的自由活动时间,我和我的搭档总是第一个抱着那颗磨破皮的斯伯丁冲向球场。172cm 的我在 186cm 的"白猪"面前,就像个"瘦竹"。但我偏不信邪,就爱挑战这座人形堡垒。他打球像推土机,一路碾压进内线毫不讲理。我被撞得东倒西歪,却越打越兴奋。那种硬碰硬的感觉,就像我在调试代码时一次次死磕的状态——假动作、虚晃、突然变向,就像是在 switch-case 的逻辑树里硬生生找出一条 break 路线。

从挑战中成长
有一次,我三步上篮被他火锅盖得干净利落,球直接砸在篮筐边沿弹了老高。我顺势后撤一步,起跳、出手,那一刻篮球划出的完美抛物线,比 try-catch 捕获异常还要丝滑精准。慢慢的,我开始摸清他的节奏。0.5 秒的重心延迟,成了我的假动作的突破口。而他也不甘示弱,用三分线外的高弧线破解我的贴身缠斗。球场成了我们的逻辑沙盘,每一次进攻和防守,仿佛都在做着一场代码审计。有次我一个快速上篮得手,他走过来揉着我满头大汗的脑袋,笑骂:"你小子打球都跟写代码似的,专挑我逻辑漏洞下手!"