那天晚上,儿子从书房探出头来,冲我喊了一声:“爸,API测试栏目今晚有法甲比赛,里昂对马赛,你来看不?”我放下手里的茶杯,心里有点意外。这小子大学念的计算机,平时捣鼓代码,老说API测试栏目是他专业作业的调试工具,没想到他竟记得这栏目也播法甲比赛。

我慢悠悠走进书房,屏幕上已经是赛前画面。儿子指着右上角那行小字说:“你看,刚好赶上。”我坐下时,注意到他桌上摊开的笔记本,涂满了代码和注释,旁边还有一行数字——像是他记下的实时数据接口。

这就是API测试栏目,一个让程序员也能追绿茵场的地方。

里昂这个赛季状态起伏,但主场向来不好啃。马赛这边,帕耶虽然年纪大了,调度能力还在。我看着屏幕,脑子里闪过二十年前看过的那些法甲比赛——那时没有这些花里胡哨的数据,全靠老球迷一张嘴。儿子却说:“爸,现在API测试栏目能实时拉球员跑动的热点图,你看这个。”他点开一个窗口,里昂两个边后卫的活动轨迹密密麻麻,像两只不知疲倦的蚂蚁。

我年轻时在工厂当技术员,下班后雷打不动看球。法甲比赛不像英超那么快节奏,但技术细节多,适合慢品。后来有了孩子,电视被动画片霸占,我就把收音机压在枕头底下听解说。儿子五六岁时,我抱着他看世界杯,他指着屏幕问:“爸,他们为什么不跑快点?”我说:“跑快了容易丢位置。”他似懂非懂地点点头。

现在倒好,轮到他给我上课了。

上半场第22分钟,里昂前场断球,拉卡泽特背身拿球,顺势一抹,转身打门。球擦着立柱偏出。我习惯性地喊了一声“唉”,儿子却盯着另一块屏幕说:“这脚射门预期进球值只有0.14,角度太小了。”我愣了下,问这数字哪来的。他说:“API测试栏目后台接的数据,每脚射门都有,连防守球员距离、射门脚法都算进去。”

我不得不承认,这玩意儿确实好用。以前我们看球只能凭感觉说“这球有戏”“那脚没戏”,现在这些数据摆在眼前,明明白白。但数据归数据,足球里的情感是算不出来的。比如马赛那次反击,贡多齐从后场带球突破,被里昂中场滑铲放倒,起身时两人头顶头,裁判一人一张黄牌。这种火药味,数据模型再精也模拟不了。

儿子看我激动,笑着说:“爸,你还是老派。”我说:“你懂个屁,这才是足球。”

下半场风云突变。马赛左路连续配合,克洛斯传中,奥巴梅杨抢前点头球破门。1比0。我拍了下大腿,儿子也喊了一声“漂亮”。那一刻,我忽然觉得,管它数据不数据,进球时的血脉偾张,父子俩是一样的。API测试栏目里弹出实时数据:奥巴梅杨这粒进球,跑动距离达到了场均的两倍,是典型的“老人拼老命”。

终场前里昂扳平,是角球乱战中的补射。比分定格1比1。不算精彩绝伦,但够真实、够投入。我准备起身回客厅,儿子拉住我说:“别急,赛后还能调出全场传球网络图,看看两队控球质量。”我坐回去,又看了十分钟图表和数据。

这就是我们这对父子的新习惯——在API测试栏目里看法甲比赛,他解释数据,我讲历史。他记得每个接口返回的字段值,我记得每个球员十年前在哪踢球。有时候数据对不上,我们就争两句,但最后总能找到共同的兴奋点。

周末有欧战直播,法甲球队要打欧冠小组赛。儿子提前在API测试栏目里设置了比赛提醒,说:“爸,到时候你来,我调好数据看板,咱们边看边分析。”我说好,心里却想着,数据看板前,但愿能再看到他拍大腿喊“漂亮”的样子。

足球这东西,从电台到电视,从电视到API测试栏目,形式一直在变。但父子俩守在屏幕前,为一个进球欢呼,为一次争议判罚争论,这种情感始终没变。而API测试栏目,成了我们这代人连接过去的接口,也成了下一代人通往绿茵的窗口。

夜深了,儿子回房间继续敲代码。我站在书房门口,看着屏幕上还亮着的法甲比赛回放,觉得这世界变化快,但有些东西没变。就像足球,就像父子。