IBM i - DDS 用于显示文件和物理文件
IBM i - DDS used for both display files and physical files
我正在与同事讨论 IBM i DDS(数据描述语言),他似乎对使用相同的语言来定义显示文件和 physical/logical 文件(表格)感到有些惊讶。尽管两者都描述单个记录和数据流(想想 DDS 显示子文件),但它似乎是一种不寻常的组合,而且我们想不出采用这种方法的其他语言。这种方法从何而来,是否有其他语言使用它?
最初,在 AS/400 上,所有 IO 都是基于记录的。没有基于流的文件。顺便说一句,数据库文件和设备文件都是基于记录的。并且除了物理文件外,都支持多种记录格式。甚至通讯文件也是基于记录的。由于所有这些文件类型都以通用方式处理,因此它们都由一种语言定义是理所当然的。流文件是后来发展起来的,支持的是C语言API,而不是DDS。与其他计算环境一样,流文件是应用程序描述的,而不是像 "native" 文件那样由外部定义的。
有趣的是,不需要外部定义任何文件。它们可以被程序描述,并且打印机文件仍然经常这样定义。在这种情况下,文件以使用它们的语言(RPG 或 COBOL)描述。
DSPF PF LF 是打卡技术的关闭spring。
我正在与同事讨论 IBM i DDS(数据描述语言),他似乎对使用相同的语言来定义显示文件和 physical/logical 文件(表格)感到有些惊讶。尽管两者都描述单个记录和数据流(想想 DDS 显示子文件),但它似乎是一种不寻常的组合,而且我们想不出采用这种方法的其他语言。这种方法从何而来,是否有其他语言使用它?
最初,在 AS/400 上,所有 IO 都是基于记录的。没有基于流的文件。顺便说一句,数据库文件和设备文件都是基于记录的。并且除了物理文件外,都支持多种记录格式。甚至通讯文件也是基于记录的。由于所有这些文件类型都以通用方式处理,因此它们都由一种语言定义是理所当然的。流文件是后来发展起来的,支持的是C语言API,而不是DDS。与其他计算环境一样,流文件是应用程序描述的,而不是像 "native" 文件那样由外部定义的。
有趣的是,不需要外部定义任何文件。它们可以被程序描述,并且打印机文件仍然经常这样定义。在这种情况下,文件以使用它们的语言(RPG 或 COBOL)描述。
DSPF PF LF 是打卡技术的关闭spring。