APL 组件文件与本机文件与数据库
APL Component Files vs. Native Files vs. Databases
我是 APL 的新手,我开始研究大量使用 APL 组件文件(例如 ⎕FSTIE
、⎕FREAD
、⎕FAPPEND
)的 APL 代码库。我还被要求研究将这些组件文件的内容传输到 SQL 数据库,其目的是使数据可用于其他应用程序。
一些文件组件包含文本,乍一看,如果存储在本机文件中,它似乎可以正常工作,但大部分组件文件主要包含 "irregular" 数字矩阵我作为最终将实现为每个组件一个 DB2 table 的东西。迄今为止最大的是 500 行 x 20 列。我还没有(有意地)看到任何嵌套数组,尽管我只是勉强触及了表面。到目前为止,只有字符文本和数字向量和矩阵。
将这些组件文件的内容传输到本机文件是否也是一个明智的选择?为什么要使用 APL 组件文件?
使用的APL系统是Windows7下的Dyalog APL,已经有一段时间了,不知道有多久
使用组件文件的优势在于,您可以 read/write 任何 APL 阵列(如您所愿,尽可能复杂和尽可能大)与单个本机操作 to/from 文件,而您可能需要如果您想对 .TXT 格式或 .XML 中的大型复杂数组执行此操作,请编写您自己的专用函数。 (幸运的是,Dyalog 的 ⎕CSV
和 ⎕XML
会为您做到这一点,但就性能而言,组件文件几乎肯定会胜出。)
第一个文件系统是由 I.P.Sharp Associates 和 STSC 这两家主要的 APL 分时公司在 1960 年代后期联合开发的。文件系统和新系统功能,如 []FMT、报告格式,是使 APL0 更具商业可行性的努力的一部分。当时的 IBM 产品 APL.SV 将 TSIO 作为 Native Files 的类似物。 APL.SV 以及未来的 IBM 解释器(如 VSAPL 和 APL2)都有售后市场文件系统。
为什么要使用 APL 组件文件?
那时候,如果用Sharp或者STSC分时,那是唯一可以用的。文件系统也使开发变得非常容易。当备选方案是使用本机文件时,它可以说是保存 APL 数据的最佳方式。如果你的系统最初是 运行 分时系统,或者使用了一些早期的 STSC (Manugistics) 解释器,它可能从一开始就使用了组件文件。从 APL 访问 DB2,首先是大型机 APL2 和 Sharp APL 的 AP127 形式,后来才出现,大约在 1980 年代中期。
当然,不同供应商之间的组件文件系统(如工作区)是不兼容的。
将这些组件文件的内容传输到本机文件是否也是一个明智的选择?
这取决于内容。听起来好像这些数字组件中可能有一个本地数据库。这就提出了更大的数据迁移问题。
我是 APL 的新手,我开始研究大量使用 APL 组件文件(例如 ⎕FSTIE
、⎕FREAD
、⎕FAPPEND
)的 APL 代码库。我还被要求研究将这些组件文件的内容传输到 SQL 数据库,其目的是使数据可用于其他应用程序。
一些文件组件包含文本,乍一看,如果存储在本机文件中,它似乎可以正常工作,但大部分组件文件主要包含 "irregular" 数字矩阵我作为最终将实现为每个组件一个 DB2 table 的东西。迄今为止最大的是 500 行 x 20 列。我还没有(有意地)看到任何嵌套数组,尽管我只是勉强触及了表面。到目前为止,只有字符文本和数字向量和矩阵。
将这些组件文件的内容传输到本机文件是否也是一个明智的选择?为什么要使用 APL 组件文件?
使用的APL系统是Windows7下的Dyalog APL,已经有一段时间了,不知道有多久
使用组件文件的优势在于,您可以 read/write 任何 APL 阵列(如您所愿,尽可能复杂和尽可能大)与单个本机操作 to/from 文件,而您可能需要如果您想对 .TXT 格式或 .XML 中的大型复杂数组执行此操作,请编写您自己的专用函数。 (幸运的是,Dyalog 的 ⎕CSV
和 ⎕XML
会为您做到这一点,但就性能而言,组件文件几乎肯定会胜出。)
第一个文件系统是由 I.P.Sharp Associates 和 STSC 这两家主要的 APL 分时公司在 1960 年代后期联合开发的。文件系统和新系统功能,如 []FMT、报告格式,是使 APL0 更具商业可行性的努力的一部分。当时的 IBM 产品 APL.SV 将 TSIO 作为 Native Files 的类似物。 APL.SV 以及未来的 IBM 解释器(如 VSAPL 和 APL2)都有售后市场文件系统。
为什么要使用 APL 组件文件?
那时候,如果用Sharp或者STSC分时,那是唯一可以用的。文件系统也使开发变得非常容易。当备选方案是使用本机文件时,它可以说是保存 APL 数据的最佳方式。如果你的系统最初是 运行 分时系统,或者使用了一些早期的 STSC (Manugistics) 解释器,它可能从一开始就使用了组件文件。从 APL 访问 DB2,首先是大型机 APL2 和 Sharp APL 的 AP127 形式,后来才出现,大约在 1980 年代中期。
当然,不同供应商之间的组件文件系统(如工作区)是不兼容的。
将这些组件文件的内容传输到本机文件是否也是一个明智的选择?
这取决于内容。听起来好像这些数字组件中可能有一个本地数据库。这就提出了更大的数据迁移问题。