我见过最顽固的软件用户,是一位在深圳做了二十年库存管理的老师傅。他的电脑还装着Windows 2000,屏幕上的蓝色界面里,跑着一个dBASE III的数据库程序。别笑,他管着三万多条零件记录,每周出货单照打,库存盘点从来没出过错。他跟我说过一句话:“这玩意儿比我儿子靠谱,我儿子换手机比换女朋友还勤,这数据库我用了二十年,它从来没坑过我。”

这话听着像段子,但背后是个真实的问题:dBASE这个上世纪八十年代的东西,凭什么到现在还有人用?翻翻技术论坛,问“dBASE还有人用吗”的帖子下面,总会冒出几个老程序员,用那种“你们年轻人不懂”的语气,讲自己手头还有客户在跑着几十年前的代码。这不是情怀,是实实在的生产力。
咱们得先搞清楚一件事:很多企业的核心数据,压根就不是存在“数据库”里的,而是存在“文件”里的。dBASE当年火,就是因为它把数据库做成了文件——.dbf文件,一行是一条记录,一列是一个字段,用dBASE打开就能改,关掉就能拷走。这种设计放到今天看土得掉渣,但好处是:数据永远属于你,不用求云服务商,不用怕厂商跑路,文件放在自家硬盘里,谁也拿不走。很多老国企、老工厂,财务、库存、人事的底账都在这些文件里,一跑就是三十年。
有人要问了,这些数据迁到现代数据库不就完了?说得轻巧。我认识一个做数据迁移的工程师,接过一个案子,客户是家老牌外贸公司,dBASE里的订单数据从1989年攒到2010年,二十一年,一百多万条记录。迁移本身不难,难的是那些字段里的“脏数据”——当年的录入员在备注栏里写“客户说下次再谈”,在日期栏里填“大概五月份”,还有一堆半个字的乱码。这些数据要是迁到MySQL里,查询是快了,但业务规则全乱了。客户拍板:不迁了,老系统继续跑,新业务另起炉灶。现实就是这么拧巴,技术升级从来不是换个软件那么简单,是动人家吃饭的碗。
再说说那些坚守的人到底是哪几类。第一类是“动不了”的,系统里跑着公司命脉业务,改错了就是事故,没人敢拍板动它。第二类是“不想动”的,用惯了,闭着眼都能操作,换新系统意味着重新学,还得防着新系统出幺蛾子。第三类最气人,是“算过账”的——请人重写一套系统,报价少说几十万,还不算测试和培训的时间成本,而老系统跑着好好的,一年维护费才两千块。换你,你换不换?
有个细节特别能说明问题:现在你去搜“dBASE 教程”,还能找到2018年更新的中文版教材。谁写的?不是老程序员,是几个高职院校的老师。他们说,有些地方的中小企业,还在用dBASE做进销存,学校教这个,是因为毕业生去了真能用上。这就像你以为磁带早绝迹了,结果发现还有个厂子在给巴基斯坦生产磁带机——市场比你想的大,只是不在你的视野里。
不过也别把这事想得太悲壮。坚守不等于原地踏步。我采访过一个用dBASE的船务公司,他们的做法是:老系统继续处理日常单证,但每周自动导出一份数据到旁边一台服务器,用Python脚本转成SQL格式,供新开发的报表系统调用。等于让老伙计继续干活,但给它配了个翻译官,让新同事也能看懂它的话。这种“新老混搭”的思路,比强迫老员工学新系统实在多了。
还有个容易被忽略的点:dBASE这类老工具的生命力,恰恰来自它的“笨”。它没有自动更新,不会半夜偷偷升级然后第二天界面全变;没有云同步,不会因为网络断了就罢工;没有花哨的权限控制,一个文件夹加个密码就是全部安全。这种“笨”反而成了优势——它给不了你惊喜,但也永远不给你惊吓。
说到底,技术这东西,从来不是越新越好,是越合适越好。那些还在用dBASE的人,不是不知道有Oracle、有PostgreSQL、有云原生,他们只是算清楚了一笔账:工具是为人服务的,不是人为工具服务的。当一家公司用着一套三十年的系统,每年省下几十万升级费,出货照常、账目清晰、员工不用加班学新东西,你能说他们错了吗?
下次再看到有人用着老古董软件,先别急着笑。也许在你看不见的地方,人家正用这套“历史遗物”,稳稳当当地挣着钱,养着家,甚至养着整个公司。历史的车轮确实在往前滚,但有些人的车,配的是老轮胎,跑得慢点,可从来没爆过胎。


