Visual Foxpro,过气老工具为何仍被使用

tmyb
广告

去年国庆我回老家帮爸妈整理旧房子,刚进门就碰到对门开五金批发店的王叔蹲在我家门口抽烟,脚边扔着个开不了机的旧主机,愁得头发都白了一圈,一看到我就赶紧站起来拉着我说:“大侄子听说你是做计算机的,快帮叔看看我这玩意儿,里面全是我十几年的账,坏了我可活不了。”

Visual Foxpro,过气老工具为何仍被使用

差点被当成垃圾丢掉的老程序,救了一家店的生意

王叔开五金批发快20年了,从90年代末摆地摊,到现在开了两百平的门店,给周边十几个乡镇的包工头供货,一半以上都是月结欠账,每一笔往来都记在这个老程序里,原来的电脑用了十几年,这次主板烧坏开不了机,县城里电脑店的九零后、零零后维修员一看程序后缀是.app``.dbc,都说“这玩意儿太老了,我们从来没见过,也不会修,叔你换个新的吧,现在微信小程序就能记账,一年才三百块”。

可王叔说什么都不愿意换,新软件要重新录十几万条数据,别说他自己对着键盘一个字一个字敲不完,就算找别人录完了,五十七岁的他眼神花了,新软件弹窗广告一堆,点错一下就跳去直播带货,他根本玩不转,最关键的是,十几年下来十几万笔欠账,哪一笔是哪一年哪个包工头欠的,早就和这个系统长在了一起,换程序万一数据错了一条,那就是几万十几万的亏空,他小本生意根本赔不起。

我一听说是Visual Foxpro(下称VFP),第一反应是大学计算机基础课最后一章那个老师让“扫一眼就行,考试不考”的淘汰工具,我那时候也以为这玩意儿早就进博物馆了,没想到还在天天给人干活,我抱着试试的心态帮王叔把旧硬盘拆下来,找到了里面的数据库文件,又去网上找了个不到5M的绿色版VFP运行库,拷到他新买的几百块二手台式机里,一点开,程序直接流畅跑起来,所有数据整整齐齐,一个都没少,王叔当时差点红了眼睛。

他说原来的程序有个小遗憾,欠账不能按年份汇总,每年年底要账都要拿计算器一笔一笔加,太熬人,让我帮改改,我翻了翻原代码,是2006年县里一中一位退休计算机老师写的,注释整整齐齐,逻辑清清楚楚,我花了一个多小时加了个汇总功能,测试了十多笔旧账全对,王叔非要给我一千块红包,我推辞半天只收下了两百块买烟,这件事给我的冲击远超过任何一次技术分享:原来教科书里说的“淘汰技术”,居然还在实打实养活着一家人的生意。

Visual Foxpro,过气老工具为何仍被使用

36岁的VFP,2024年仍活在各个角落

这件事之后我特意去查了最新的行业数据,才发现VFP根本没有死,只是退到了主流视线之外,默默干活,2024年第二季度,我在国内主流招聘平台BOSS直聘、智联招聘搜索“Visual Foxpro”“VFP开发”,能搜出超过820个活跃岗位,其中超过七成是系统运维、二次开发的需求,岗位集中在山东、江苏、浙江的三四线城市,雇主多是中小型制造企业、县域事业单位、农资批发企业,月薪从4500元到16000元不等,并不比很多初级开发岗位差。

甚至就在2024年4月,江苏盐城某区的医保中心还公开招聘了一名VFP系统维护员,负责维护已经运行了21年的医保对账系统,给出8000元月薪加五险一金,吸引了二十多个人报名,当地接受采访的工作人员说:这套系统从2003年上线,每一次医保政策调整只需要改改对应逻辑,改一次才几万块,要是重新开发一套全新的对账系统,至少要几百万,还要停业务切换,培训所有基层工作人员,风险太高,算下来维护老系统划算太多。

2023年末多家媒体报道的中小门店SAAS服务商跑路事件,其实更反衬出VFP这类本地老工具的优势:去年一款面向中小门店的收银SAAS服务商突然停服跑路,全国超过十万家中小门店的会员数据、交易数据全部无法访问,不少做储值的门店被消费者围堵,损失少则几万多则几十万,而VFP所有数据都存在用户自己的硬盘里,不需要联网,不需要交年费,只要硬盘不坏,程序就能一直跑,永远不会有服务商跑路拿不到数据的问题,对于很多不需要联网协同的小门店小单位来说,这简直是无法替代的优势。

为什么停更17年的VFP还能活下来?总结下来其实三个原因:第一是天生适配小项目,VFP从诞生开始就定位桌面小型数据库开发,熟练开发者一个星期就能写出一个能用的进销存,编译出来的程序才几M,不需要装任何运行环境,拷贝到U盘就能带走,在零几年电脑内存只有256M、硬盘只有40G的年代,VFP比任何开发工具都轻便,而且普通人就能拿到破解版,成本几乎为零,自然在国内中小场景普及开了,第二是换系统的隐形成本远超过想象,很多人觉得“不就是导个数据换个系统吗”,可实际上,用了十几年的老系统,业务逻辑里藏着无数只有用户才懂的潜规则,重新开发不仅要花几十万上百万开发费,还要停业务测试,培训员工,出一点错就是真金白银的损失,珠三角有个做了三十年的玩具厂,1998年上线的VFP生产管理系统用到2024年,换了三批老板都没人敢换,就是因为原来的系统适配了零碎订单频繁改单的特殊需求,重新开发太折腾,第三就是够用就好,王叔的五金店一年也就十几万条数据,VFP跑起来刷刷的,他只要记账、汇总、打单三个功能,新的SAAS进销存一百多个功能,90%他都用不上,还要每年交钱,对他来说就是负担,不是福利。

Visual Foxpro,过气老工具为何仍被使用

老技术不是落后,它只是选了适合的场景

现在程序员圈子里一提到VFP,几乎都是一边倒的嘲讽:“这玩意儿也配叫开发工具?”“学VFP的都找不到工作”“居然还有人用这个,太落后了”,我觉得这种偏见完全站不住脚,技术从诞生开始就是用来解决问题的,不是用来攀比新旧、攀比参数的,你用最新的Rust写一个进销存,确实技术上很先进,但是要花一万块开发还要每年维护,对于王叔来说,不如那个用了十八年、成本为零、用得顺手的VFP,哪个更好?答案一目了然。

很多人不知道,VFP其实是中国最早一批信息化的启蒙工具,九十年代到零几年,中国互联网还没普及,正规软件开发的价格非常高,很多县城的小单位、小工厂根本请不起大公司开发系统,很多本土的计算机老师、业余爱好者就是用VFP写系统,帮这些小单位解决了从手工记账到信息化的跨越,中国基层最早的一批信息化,其实有VFP的功劳,我父亲那一代的程序员,很多人就是从VFP入门学会写代码,后来才转做其他方向的开发,VFP对于很多人来说不止是工具,还是进入软件行业的敲门砖。

我当然知道VFP有它的局限性,它不支持百万级以上的大数据量,多用户联网访问稳定性差,安全性也比不上现在的新工具,它确实不适合做现在的大型互联网项目,但是在它适配的单用户、小数据量的本地场景里,它就是最好的选择,就像你去楼下两百米的菜市场买菜,不会开你的SUV去,骑你用了十年的老自行车就刚好,你不能说老自行车落后,就说它没用对吧?

VFP给浮躁的技术圈浇了一盆冷水

现在整个技术圈都太浮躁了,动不动就是“颠覆式创新”“技术迭代”,三个月不学新技术就好像要被淘汰了,前端框架三个月换一个概念,后端架构一年换一个玩法,很多项目明明一个简单的单体应用就能解决,非要上微服务、上云原生,十几个开发做一年,最后出来的产品还不如原来的老系统好用,浪费了无数资源和钱。

VFP活了36年,停更17年还没被淘汰,其实就是给我们提了一个醒:技术的本质是解决问题,不是制造焦虑,不是追热点,合适的技术,就是最好的技术,不管它是今年刚出的还是三十年前出的,去年我接触过一个创业项目,做面向社区团长的订货工具,一开始团队上来就要搞微服务、搞分布式,花了三百万做了半年,出来的产品打开要三秒,很多团长用的旧安卓手机根本跑不起来,后来他们找了一个有三十年经验的老程序员,用PHP写了一个单体版本,不到一个月做完,才花了二十万,打开一秒,旧手机也能流畅跑,现在月流水已经过了五千万,这不就是和VFP一样的道理吗?

去年年底我再回老家,王叔的VFP系统还在天天用,每天早上开门第一件事就是点开程序,查当天要上门要账的客户,用得顺手得很,他说:“只要这个东西还能打开,不出错,我就不换,折腾那新玩意儿干嘛,能把账记对,能赚到钱就行。”

其实VFP终有一天会彻底退出历史舞台,当现在用它的那批老板退休,当最后一块装着VFP程序的硬盘损坏,没人会修也没人想用的时候,它自然会走,但是它留给我们的思考不会消失:永远不要为了技术而技术,不要为了追新而追新,能解决问题的工具,就有存在的价值,它不是什么值得神化的神技,也不是应该被扫进垃圾堆的老古董,它只是一个时代的印记,一个解决了无数普通人问题的普通工具,仅此而已。