从圣迭戈向用户分发

UCSD Pascal的早期工作设在加利福尼亚大学圣迭戈分校信息系统研究所,由肯尼思·鲍尔斯领导。1978年5月,他在《BYTE》介绍项目时,明确把首次向用户寄发系统的时间记为1977年8月。文章刊出的1978年,是对已有系统的介绍与征求合作阶段。

研究所面对的问题很具体:小型计算机处理器更新迅速,如果每换一种机器就重新编写应用程序,软件投入很快便会失去用途。项目因此把可移植的对象扩大到整个开发环境,而不只为每家厂商的操作系统再做一个Pascal编译器。

参考:[1]

让开发工具随程序一起迁移

用户拿到的是一个供单人交互使用的系统,其中有操作系统、Pascal编译器、屏幕或行编辑器、磁盘文件管理器、调试器和实用程序。许多组成部分也以Pascal编写,编译结果交给一个较小的伪机器解释器执行。

这种安排把两类工作分开:编译器把程序变成伪机器代码,解释器再用宿主处理器的机器语言实现这些操作。适配一台新机器时,主要处理解释器和设备接口,已经写好的程序及开发工具便有机会一同迁移。作者论文强调,这既包括应用程序,也包括支撑它们的开发系统。

参考:[1] [3]

一个累加程序经过哪些步骤

可以用一个简单的Pascal累加过程说明这条路径:先令sum为0,再用“for i := 1 to 10 do sum := sum + i”逐次累加,最后输出sum。这里的例子用于解释执行过程,并非项目档案中某位学生的原作。循环、变量读取与加法先成为伪机器指令,再由不同机器上的解释器完成实际操作。

因此,在编辑器里改写源程序、调用编译器、运行并调试,是同一个工作环境中的连续活动。跨机器使用也有硬件边界。1978年的作者论文要求编译完整Pascal及UCSD扩展的小程序,仍须至少48K字节连续内存;“可移植”并没有取消内存、磁盘和终端条件。

参考:[3]

Terak机器与课堂使用

丹·菲尔斯特拉在《BYTE》的现场报道中,记下自己在圣迭戈看到系统运行于Terak 8510/a。它采用LSI-11处理器,配有56K字节内存、软盘及位图显示。屏幕可以同时显示文字和图形,给程序练习和图形演示提供了具体设备。

报道还说,UCSD的入门编程课程每学期有数百名学生使用以Pascal编写的测试和练习。鲍尔斯的教材《Microcomputer Problem Solving Using PASCAL》本身也利用这套系统制作文字和图形。系统由此同时承担学习程序、编写教学材料和运行练习的工作。

参考:[2]

分发条件与继续扩展

1978年项目介绍列明,当时已有支持的处理器包括LSI-11、8080和Z-80;其他处理器的试作与未来支持计划另列。作者报告的约60台使用机器,附有截至1978年2月中旬的时间界限,不能当作首次分发当天的规模。

获取系统当时需支付200美元订阅费用,用于介质、处理和有限用户协助,印刷手册另行收费;教育机构和合资格计算机俱乐部获得内部非商业复制安排。项目同时征求用户与厂商协作。早期发布因而是一套持续适配、分发和教学使用的工作过程,后来的版本与商业产品属于这条路线的后续阶段。

参考:[1] [2]