发布时间:2026/9/3 7:01:23
我与IT三十年:1998,蝴蝶落到表单上 1997 年那只在浏览器里飞来飞去的蝴蝶到了 1998 年突然落到了表单上。这句话听起来有点扫兴。蝴蝶多轻。页面会动坐标会变浏览器像刚学会走路的小孩笨拙但兴奋。表单则很重。姓名、部门、编号、日期、金额、状态、审核人、备注、打印、查询、统计。它们一点也不浪漫甚至有点枯燥。可真正让软件进入多数公司日常的往往不是蝴蝶而是表单。1998 年我开始做 MIS 开发。MIS 是 Management Information System管理信息系统。今天这个词已经有点旧了甚至显得土。但在那个年代它代表的是一家公司、一所学校、一个机关、一个业务部门开始认真把纸面流程搬进电脑。那是软件落地的另一面。浏览器告诉我们世界正在变大MIS 告诉我们世界变大以后办公室里的每一张表也要跟着变。企业信息化最早不是酷技术很多技术史喜欢写大事件浏览器大战、搜索引擎、开源运动、操作系统、芯片、AI。那些当然重要。但对大量程序员来说真正开始工作后首先遇到的常常不是改变世界的平台而是一个又一个业务系统。它们可能叫人事管理系统、库存管理系统、财务管理系统、客户资料管理系统、设备管理系统、教学管理系统。名字听起来都不性感但每个系统背后都有一套真实的组织流程。谁能录入谁能修改谁能审核数据错了怎么办报表按什么口径统计打印格式为什么和原来的纸质单据不一样这些问题放在今天仍然是企业软件的核心问题。只不过今天我们把它们包装成 SaaS、BPM、ERP、CRM、低代码、数字化转型。1998 年的时候它们更多时候就叫 MIS。做 MIS 的第一课是承认用户不关心你的技术有多漂亮。用户关心的是这张单子能不能录进去明天领导要的报表能不能打出来上个月的数据能不能查到权限有没有弄错系统坏了会不会影响他们下班。这和 1997 年那只蝴蝶完全不同。蝴蝶飞得不够顺最多不好看。企业系统错一条数据可能就有人真着急。Delphi 为什么让人怀念写到 1998 年就绕不开 Delphi。Delphi 不是 1998 年才出现的Delphi 1 早在 1995 年就已经发布。到 1998 年前后Delphi 3、Delphi 4 这些版本已经成为很多 Windows 桌面数据库应用开发者非常熟悉的工具。我后来很长一段时间都觉得那个年代最好用的 IDE 是 Delphi。这不是情怀滤镜。Delphi 的好用是具体的。打开 IDE拖一个按钮拖一个输入框双击事件写几行 Object Pascal连上数据库放一个数据表格控件一个能跑的窗口应用很快就出来了。对做 MIS 的程序员来说这种效率非常直接。更重要的是它让程序员的思维方式变了。在更底层的年代你首先想的是文件、内存、函数、编译、链接。到了 Delphi 这种工具里你开始想窗口、控件、事件、数据源、数据集、表单、报表。程序不再只是代码执行流程它开始长得像用户正在使用的东西。企业信息化最朴素的一步把纸质表单、审批流程和报表变成数据库里的记录。图为按年代氛围生成的示意图。Borland 这家公司也值得记一笔。很多年轻程序员可能只听过 Microsoft、Oracle、Sun、Netscape却不一定对 Borland 有感觉。但对 1990 年代和 2000 年代初的一批开发者来说Borland 是非常有存在感的名字。Turbo Pascal、Borland C、Delphi、CBuilder这些工具陪过很多人入门也陪很多人做过真实项目。Borland 的工具有一种工程师友好感。它不像某些企业级工具那样笨重也不像后来很多 Web 工具那样需要一堆脚手架和配置。它给你的感觉是我知道你要做程序我尽量让这件事直接一点。Delphi 尤其如此。它并不完美也有自己的生态、版本、组件和部署问题。但在那个 Windows 桌面应用和数据库应用大量增长的年代它确实给了程序员一种很强的生产力。表单背后是组织刚开始做 MIS很容易把问题看简单。不就是增删改查吗建几张表写几个窗口做几个查询打印几张报表。代码复杂度好像也不高。和汇编、图形学、网络协议比起来这些东西似乎都很“业务”。后来才知道业务系统的难不在算法而在现实。现实里的数据不干净。一个部门叫法可能有好几种一个人会调岗一个编号会沿用旧规则一个字段本来设计成必填结果历史数据里大量为空。现实里的流程也不稳定。今天是三级审批明天变两级这个领导出差审批要代理月底要临时加一张表年底统计口径又变了。技术系统最怕的不是复杂而是含混。MIS 系统恰恰要处理大量含混的东西。纸面流程里很多规则靠人脑补靠一句话解释靠老员工经验。变成软件以后你必须把它写成字段、状态、权限、校验和流程。这会逼着组织照镜子。原来谁都能改的数据现在要不要限制原来口头说一下就行的审批现在要不要留痕原来每个部门各算各的指标现在统计口径到底听谁的这些问题最后都会落到程序员面前。你以为自己在写表单其实你在帮一个组织整理自己的规则。这也是企业软件最有意思、也最折磨人的地方。它表面上是技术项目内里是组织项目。数据库让软件开始有记忆1998 年做 MIS数据库是核心。没有数据库表单只是临时输入。数据存下来系统才有记忆。能查询、能统计、能追溯、能对账、能打印历史报表软件才真正参与管理。那时很多项目使用关系数据库。表结构设计、主键、外键、索引、事务、查询语句这些东西会慢慢进入日常。你会开始理解字段不是随便加的类型不是随便选的索引不是越多越好报表慢不一定是界面问题可能是查询写得差也可能是表结构一开始就没想清楚。从这时候开始程序员很容易形成一种本能先看数据。界面可以重做流程可以调整代码可以重构但数据一旦错了就麻烦得多。企业系统最宝贵的不是窗口也不是按钮而是多年积累下来的业务数据。这句话后来在不同系统里不断被验证。做银行系统时如此做互联网平台时如此做大数据平台时如此今天做 AI 应用时仍然如此。模型、界面、算法都会变数据质量始终决定系统能走多远。1998 年的 MIS 系统用今天眼光看很朴素但它让我很早就明白软件真正变重要是从它开始承载数据开始的。Windows 98 和办公室电脑1998 年Windows 98 发布。这对个人电脑和办公室电脑来说是一个非常有年代感的节点。那时的办公桌上越来越多地出现米黄色主机、CRT 显示器、键盘、鼠标、打印机。电脑不再只是少数技术人员的设备也开始进入普通部门。操作系统、Office、数据库客户端、MIS 系统、打印机驱动、网络邻居这些东西一起构成了当时办公室的信息化体验。这种体验一点也不丝滑。驱动会冲突打印机会卡纸系统会蓝屏网络共享会找不到数据库连接会失败用户会把窗口关掉以后说系统没了。今天我们习惯了云服务和浏览器很多客户端问题都被藏到了服务端和网页里。可在当年桌面环境本身就是软件交付的一部分。这也是 Delphi 这类工具的重要性所在。它生成的是用户眼前能打开的 Windows 程序。这个程序有菜单、有工具栏、有表格、有按钮、有打印预览。对那个年代的用户来说这就是“软件”的样子。Web 当然在成长但大量企业内部系统仍然是桌面应用。蝴蝶在浏览器里飞表单在 Windows 桌面上落地。1998 年的另一条线互联网入口正在成形有意思的是1998 年不只有 MIS、Windows 98 和办公室电脑。那一年Google 成立。如果站在今天回看这当然是超级大事件。但站在当年一个搜索引擎创业公司和我们正在做的企业系统好像离得很远。一个面向全球网页一个面向单位内部流程一个处理链接和排名一个处理字段和报表一个后来改变互联网入口一个当时只是在办公室里让人少填几张纸。但它们其实都在处理同一件事信息如何被组织。MIS 把组织内部的信息结构化Google 把公开网页的信息排序。前者关心权限、流程、报表后者关心链接、相关性、入口。一个向内一个向外。它们共同说明1998 年的软件世界已经不只是“让机器执行命令”而是开始围绕信息本身建立秩序。同一年XML 1.0 成为 W3C 推荐标准开源运动也以更明确的方式出现。信息交换、标准、协作、开放这些词都在那一年变得更有重量。当时未必看得清。你坐在办公室里改一个表单字段可能不会想到搜索引擎会改变世界也不会想到开源会重塑整个软件产业。你只知道这个字段今天必须上线明天用户要用。技术史的大事总是和日常工作并行发生。很多时候我们不是站在时代浪潮上而是在浪潮旁边修一个按钮。从小程序到业务系统1996 年我还在回望 386、PDP-11 和汇编。1997 年我写过那只会飞的 JavaScript 蝴蝶。到了 1998 年事情突然变得具体字段、表、报表、权限、打印、用户。这三年连起来看很像程序员成长的三个台阶。第一步你理解机器。第二步你理解界面。第三步你开始理解业务。理解机器让你知道程序不是魔法。理解界面让你知道用户看到的东西很重要。理解业务则让你知道软件最终要进入现实世界和人的流程、组织的规则、历史数据、责任边界纠缠在一起。MIS 给我的训练就是第三步。它不酷但扎实。它不像浏览器动画那样让人兴奋也不像底层开发那样有技术纯度。它更像一门手艺把现实里的混乱尽量整理成用户能用、数据能存、流程能跑、出了问题能查的系统。后来我做过很多平台级、互联网级、数据级的系统但这种训练一直有用。因为再大的系统最后也会落到某些很朴素的问题上数据从哪里来谁能改错了怎么查用户为什么这么用报表为什么不一致系统坏了谁负责。这些问题1998 年的 MIS 已经问过一遍。下一年表单连上了银行前置机1998 年的企业系统多数时候还在办公室内部转。到了 1999 年我会进入另一个更硬的场景给银行开发使用 SCO UNIX 做前置机真正在生产中使用 socket 编程。那就不是表单和报表的问题了。那是连接、协议、稳定性、生产环境和金融系统。如果说 1998 年让我看到软件如何整理组织内部的信息那么 1999 年会让我看到软件如何在真实交易和生产链路里承担责任。下一篇就写银行前置机和真正的 socket。1998 年 IT 大事记Google 成立。1998 年 9 月Google 公司成立。它最初只是搜索引擎创业公司后来成为互联网最重要的入口之一。它改变的不只是搜索也包括广告、数据中心、分布式系统、浏览器、移动操作系统和后来的 AI 基础设施。Windows 98 发布。Microsoft 在 1998 年发布 Windows 98。它延续 Windows 95 的桌面体验并进一步把 Internet Explorer 等互联网能力整合进个人电脑使用场景。对很多办公室用户来说Windows 98 是那个年代电脑普及记忆的一部分。XML 1.0 成为 W3C 推荐标准。XML 在 1998 年 2 月成为 W3C Recommendation。它一度被寄予厚望成为数据交换、配置文件、文档格式和企业系统集成的重要基础。后来 JSON 更轻量地占据了很多 Web 场景但 XML 在企业软件和标准化接口中的影响非常深。Open Source Initiative 成立。1998 年Open Source Initiative 出现“开源”这个说法开始以更商业友好的方式传播。它和自由软件运动有不同语气却共同推动了后来 Linux、Apache、MySQL、Python、GitHub 以及整个云原生生态。Netscape 宣布开放浏览器源码。1998 年 Netscape 宣布开放 Communicator 源码Mozilla 项目由此开始。虽然早期过程并不轻松但这条线后来会走向 Firefox也会成为浏览器开放生态的重要一环。iMac G3 发布。Apple 在 1998 年推出 iMac G3。它用半透明彩色外壳重新定义了个人电脑的消费级形象也帮助 Apple 走出低谷。它不是企业 MIS 的主角却是 1998 年个人电脑审美转向的标志。PayPal 前身 Confinity 成立。Confinity 在 1998 年成立后来与 X.com 合并并发展为 PayPal。它代表了互联网支付和线上交易基础设施的早期探索也预示着互联网不只是看网页和发邮件还会进入真实资金流转。VMware 成立。VMware 在 1998 年成立。虚拟化后来会深刻改变服务器利用率、开发测试环境、数据中心管理并为云计算铺路。对当时普通程序员来说它还不是日常工具但它开启的方向非常关键。腾讯成立。1998 年 11 月腾讯在深圳成立。它后来从即时通讯走向社交、游戏、内容、支付、云和企业服务成为中国互联网最重要的平台公司之一。1998 年看起来只是互联网创业早期的一粒种子。京东早期公司成立。京东的早期公司可追溯到 1998 年后来从线下零售逐步进入线上零售和电商基础设施。它提醒我们很多后来的互联网大厂一开始并不一定以今天最熟悉的形态出现。Apple iMac G3。图片来源Wikimedia Commons。参考资料Google公司历史MicrosoftWindows 98 发布背景W3CExtensible Markup Language XML 1.0 RecommendationOpen Source InitiativeHistory of the OSIMozillaMozilla 项目历史AppleiMac G3 发布背景PayPal 公司历史VMware 公司历史Tencent公司历史JD.comOur HistoryWikimedia CommonsApple iMac G3 图片

相关新闻

2026/9/3 7:01:11

CANopen学习记录(三)

现在开始学习使用如何使用canfestival去移植CANopen。直接去CANopen的官网去下载https://canfestival.org/code.html.en或者GitHub - ljessendk/CanFestival GitHub。有时候官方下载不了,挂梯子也没有用!真的是恶心! (一)开始移植Canfestiva…

2026/9/3 6:57:31

YOLOv8垃圾分类目标检测实战:从数据标注到模型部署全流程

简介:本资源是一套基于YOLOv8的轻量化垃圾分类目标检测实战项目,面向深度学习初学者、计算机视觉方向本科生及毕业设计选题者,解决真实场景下垃圾图像多类别识别与定位难题。压缩包共4个文件(2个Python脚本、1个YOLO格式数据集ZIP…

2026/9/3 6:57:31

基于物联网的菇房环境管理系统源码+文档+讲解视频

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/9/3 6:57:31

基于灰狼优化算法的CNN超参数自动调优:原理、实现与应用

简介:本资源是基于卷积神经网络(CNN)与灰狼优化算法(GWO)融合建模的Matlab实现方案,面向计算机、电子信息工程及数学等专业的本科生,适用于课程设计、期末大作业及毕业设计中智能算法与深度学习…

2026/9/3 6:57:31

从报名到实战:系统化备战电竞赛事的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 6:57:31

腾势Z9GT无人漂移技术解析:扭矩矢量控制与线控底盘原理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 6:52:31

基于BERT的细粒度文本情绪风格分类实战:从原理到部署

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/1 16:02:17

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/2 9:00:32

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/2 8:41:06

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/3 0:02:06

零基础装 OpenClaw 小龙虾 AI:Windows 一键部署教程与避坑要点

Windows 部署 OpenClaw 完整教程|本地 AI 智能体 5 分钟落地,环境配置一次搞定 版本说明:Windows 3.1.0 / Mac 2.7.9 写在前面 近两年开源 AI 领域有一款被称作「数字员工」的工具持续走热,它就是 OpenClaw,圈内人更习…

2026/9/3 0:02:06

Hermes Agent 本地部署新方案:Windows 整合包减少依赖报错

Windows 本地部署 Hermes 太麻烦?这版一键包 5 分钟快速跑通 很多人想体验 Hermes Agent,但真正开始部署时,往往会卡在环境配置这一步。 需要安装各类依赖、调试运行环境、处理路径问题,还容易遇到命令行报错、系统拦截、文件缺…

2026/9/3 0:02:06

实测 OpenClaw 一键包,5 分钟完成本地自动化环境搭建

OpenClaw 本地 AI 自动化工具部署指南|使用一键包规避环境配置难题 痛点:部署 AI 自动化工具常常要处理 Python、Node.js 各类依赖,版本冲突、环境配置耗费大量时间,OpenClaw 提供一键安装包,降低部署门槛。 适配系统&…

2026/9/2 1:15:22

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/2 1:15:22

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/2 1:15:20

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…