小型计算机上最流行的面向对象语言是一种对传统的类似于ALGOL语言的扩展,C和Pascal就属于此类。由C扩展的面向对象语言就是赫赫有名的C++(我们可以回忆一下,两个加号放在一起等价于C语言中的自增操作)。C++的核心思想大部分来自于贝尔电话实验室(Bell Telephone Laboratories)的贾尼·斯特劳斯特卢普(Bjarne Stroustrup,生于1950年),最开始C++是作为一种转换程序,它可以把编写的程序转换成C程序(但是转换出的C程序即难看又难以理解)。转换完成之后的C程序可以像普通程序一样编译。
其实,面向对象语言能做到的,传统语言也能做到。但是编程终究是人类发明的一种解决问题的活动,面向对象语言使得编程人员多了一种可选的解决方案,这种解决方案具备更加优越的组织结构。如果你想虽然困难重重一面向对象语言编写的一种程序,并使其在Macintosh和 Windows上都可以编译后运行,这是完全可以做到的。此类程序并不直接引用API,使用的是被称为 API函数的对象。Macintosh和 Windows使用两种不同的对象定义来编译程序。
许多在小型计算机上工作的编程人员已经逐渐不用命令行编译程序,而是使用集成开发环境(Integrated Development Environment,IDE)。这个环境里集成了所有需要的工具,而环境本身可以像其他图形应用程序一样运行,这样一来就大大简化了程序开发任务。还有一种称做可视化编程(Visual Programming)的技术被程序开发人员广泛利用,按钮及其他组件可以通过鼠标拖曳进行“排版”,从而达到在窗口交互设计的目的。
在第22章中我们一起讨论过文本文件。为了方便人们阅读,这类文件仅由ASCI字符组成。我们回想一下使用基于文本的操作系统的那个年代,文本文件是应用程序之间进行交流的理想媒介。它的最大优点是可检索性程序可以检索多个文本文件,然后确定它们中是否有文件包含某一字符串。但如果操作系统中有一种机制用来显示不同字体、大小,以及不同效果比如斜体、黑体和下画线,那么文本文件就不再适用了。很多字处理软件其实都会使用一种自己独有的二进制格式来存储文档。文本文件同样也不适用于图形信息。
25 图形化革命
409