先有语言,再有产品

C++语言的起点在贝尔实验室。比雅尼·斯特劳斯特鲁普1979年着手把Simula的程序组织能力与C的系统编程效率结合,1985年已有商业实现。Turbo C++因而是Borland推出的编译器产品,并非1990年新造的一门语言。斯特劳斯特鲁普的计算史论文把Borland编译器的出现列在1990年5月;他同时记述1988年已有Zortech的个人电脑编译器。将Turbo C++称为第一种个人电脑用C++编译器,会抹去此前的实现。

参考:[1]

公司、人员与出货

Borland International位于加利福尼亚州斯科茨谷。计算机历史博物馆的公司史报告将Turbo C++ Professional出货记在1990年5月。报告还保存Daniel Horn的任职自述:他1989年7月加入公司,工作包括Turbo C++质量保证。这个记录提供了测试人员线索,却未指明首版的设计负责人或测试起讫日期。这些记录不能确定开发开工日。

参考:[2]

在DOS电脑上组织开发

1990年7月《C Users Journal》的新产品栏目记载,Turbo C++支持AT&T的C++ 2.0规范及美国国家标准协会(ANSI)的C标准,运行条件包括640KB内存、硬盘和MS-DOS 2.0或更新版本。其Programmer’s Platform把多文件编辑器、项目管理器、集成调试器与上下文帮助放在可重叠的窗口中,并支持鼠标。程序员可以在同一环境里安排源文件、处理编译消息,再检查程序运行。

另一个实际障碍是DOS可用内存有限。VROOMM(Virtual Run-time Object-Oriented Memory Manager)覆盖管理器让程序利用扩充内存、扩展内存或磁盘交换空间容纳更多代码。Professional套装另外配有Turbo Debugger、Turbo Profiler和Turbo Assembler,提供独立调试、性能分析和汇编工具。

参考:[3]

从一个输出函数看实现

1.0版《Programmer’s Guide》的俄译转录本第3章保留了function_display例子:函数接收整数i与双精度数d,核心语句为cout << "i=" << i << ", d=" << d << "\n";。在给出的示例数值下,它把8和2.34连同标签写到标准输出。

这里的cout是流对象;<<针对不同数据类型提供相应输出操作,而每次操作返回流的引用,使后一个输出可以接着前一个写。程序把整数、文字和浮点数排成一条表达式,由库处理各自转换。这个简短例子显示,产品中的C++支持也体现在对象和运算符重载组成的输入输出库中。

参考:[4]

使用者的程序与产品边界

Steve Goschnick为澳大利亚《Your Computer》1990年12月号撰写文章,记录自己用Turbo C++等工具编译带鼠标支持的层叠菜单与文字窗口类库。他报告Turbo C++生成的可执行文件为22,594字节;移植时需要替换的主要是少数底层屏幕操作,如gettext和puttext。这是一个具体使用者的程序结果,不能推广为所有应用的性能排名。

Goschnick还记录同时打开40个文件窗口后仍能编译较大文件。他将Turbo C++描述为直接生成机器代码的编译器,同时指出当时缺少Microsoft Windows应用开发支持。因此,这一阶段的重点是改善DOS上的开发流程;后来的Windows产品属于另一阶段。

参考:[5]