昨晚翻旧硬盘,角落里滚出来个连自己都记不清年份的VB安装包。双击。那抹灰扑扑的绿色界面“啪”地跳出来。进度条跟老牛拉破车似的,一格一格蹭。书里管这叫“打包与发布”。听着挺唬人,扒开看,其实就是把散在各处的窗体、模块、数据库连接,一股脑塞进一个exe里。指望双击之后,能在别人的破电脑上顺顺当当跑起来。我盯着那条绿线往前挪,手里咖啡早凉透了。心里莫名咯噔一下。咱们这日子,不也天天在干这种“打包”的活儿吗?

摊开梁伟的《Visual Basic管理信息系统项目开发实践》,这书排版是真规整。页边距窄得让人喘不上气。从最基础的语法起手,一路搭到工资管理、学籍系统、物资台账。逻辑严丝合缝,像老工人砌墙,一层压一层。书里拍胸脯保证一种秩序:参数配齐,流程跑通,系统绝对不崩。可日子哪是数据库?连个像样的表结构都没有,主键在哪都不知道。咱们偏不信邪,硬要把人情往来、职场晋升,甚至半夜突然冒出来的emo,全塞进一个“管理系统”。记社交频次?算付出回报?焦虑一来赶紧打补丁,后天大后天的日程排得跟军训似的。总以为代码敲得再密,人生就能一键编译成功。真那么回事?未必。

现实偏不配合。动不动就在运行阶段甩个异常给你看。你费尽心思捂热的圈子,周末漏回一条微信,冷不丁就断了线。你拿尺子量好的晋升路线,公司架构一调,直接让你原地转圈。书里手把手教怎么抓错误,怎么让程序报错还能硬撑着往下走。可人心是肉长的,不是铁疙瘩。哪能敲一行 On Error Resume Next,就当什么都没发生过?漏了?断了?晾着的?根本不会因为你套了个错误处理框就自动清零。它们全躲在后台死磕,白白占着内存,把整个人拖得越来越卡。有时候觉得,咱们太迷信“容错机制”了。有些错,漏了就漏了。硬补,反而更丑。

说句掏心窝子的话,早些年我特吃“结构化”这一套。以为把日子过成书里那些示例代码一样条理分明,就能把坑全躲过去。等真在现实里摔过跤、吃过亏,才咂摸过味儿来。那些被咱们骂作“漏洞”的破事儿,恰恰就是生活本来的面目。赶丢的公交,撞见的旧友,一段连个明确句点都没有的交情。它们不讲逻辑,也不发使用说明书。却实打实地把我捏成了现在的德行。咱们总拼命想把自己打包成一个稳定、高效、随时能上线发版的成品,端给外界看。可我觉得吧,真正喘着气活着的,永远是那个躲在后台吭哧吭哧跑、时不时卡壳、还得反复重启的进程。完美发版?那是给甲方看的。自己心里清楚,哪次上线没带病运行过?

如今再翻那本讲系统开发的书,越看越觉得它太“无菌”了。连点灰尘和意外都容不下,读着反而让人犯困。人这东西,大概这辈子也学不会把自个儿拿捏得死死的。跑点偏轨呗。数据不同步就不同步吧。有些功能模块暂时调不动,也就调不动了。说不定咱们压根不需要那个完美发版的exe。只要留个能随时双击打开的旧程序就行。界面糙点没关系,弹窗乱跳也行,报错提示多两句也认了。挑个没人的晚上,看着它慢吞吞地加载出画面。心里默念一句:嘿,还在跑呢。这就妥了。剩下的,爱谁谁。