【24h】

Functions and data can dance as equal partners

机译:功能和数据可以平等地共舞

获取原文
获取原文并翻译 | 示例

摘要

It is difficult today to think of machines of the early fifties. A vaguely recollected machine, which probably combines features of more than one real machine, had as memory a rotating drum. The instruction format included an operation code and four addresses. The first three addresses were not unusual: the locations of two operands and the result of the operation. The fourth address was the location of the next instruction. A programmer had to pick a spot on the drum that will be under the read head when the instruction finishes. It required a bit of ingenuity and lots of experimentation to get the most out machines from that era. The job was not made any easier by the fact the machines typically had about a thousand words of storage.It was not long before assemblers and compilers took over the job of managing machine operations. Programs were divided into two major sections: procedures and data. The small storage capacity raised a problem: to store all numbers with the same number of bits required a choice. If the word size was small, precision was limited; if large, relatively few numbers could be stored. A compromise was reached by storing numbers in several different formats that used more storage when greater precision was required. Data-types had arrived.It was to be a several years before the term polymorphism was applied in the computer field. An early use of the word is cited in the OED: "The various portraits of her majesty astonish by their perplexing polymorphism…" [1839 Fraser's Mag. XX. 699].Compilers in the fifties required a set of declarations that preceded the executable code. The names of variables were classified into groups that specified the storage formats of their respective members. Different instruction sequences were needed to perform arithmetic on differently formatted numbers.Nonnumeric data was a category by itself. Before long nonnumeric subcategories, i. e., data-types, were recognized. Some of them formed nested sequences, just as the early numeric types --- bits, small integers, large integers, and floating point --- formed a natural sequence. The domain of a function was the set of data-types on which it could operate.A typical OOPS requires declaration of the data-types and functions that apply to them in a different way. Instead of considering functions and the data-types that they can accept, it considers data-types and the sets of functions that can use them. As in the case of FORTRAN, declarations must be complete before programming begins. The sets of functions could be thought of as function-types, although the term has been little used, if at all.No matter just how the information on data and function types were stored in the early computer and compiler days, and no matter whether they were stored with the CPU or on disk or drum, not many thought then about arrays of functions. The Michigan Algorithm Decoder (MAD), a compiler of the late fifties, is the only place I know of which supported indexed function name variables.
机译:今天很难想到五十年代初期的机器。一台隐隐约约的机器,可能结合了多台实际机器的功能,并带有一个转鼓作为记忆。指令格式包括一个操作代码和四个地址。前三个地址并不罕见:两个操作数的位置以及运算结果。第四个地址是下一条指令的位置。指令完成后,程序员必须在鼓上选择一个位于读取头下方的点。要充分利用该时代的机器,需要一些独创性和大量实验。由于机器通常具有大约一千个字的存储空间,这项工作并没有因此而变得容易。汇编程序和编译器不久之后就接手了管理机器操作的工作。程序分为两个主要部分:程序和数据。较小的存​​储容量提出了一个问题:要存储所有具有相同位数的数字,需要选择。如果单词大小较小,则精度会受到限制;如果较大,则可以存储的数量相对较少。通过以几种不同的格式存储数字来达成妥协,当需要更高的精度时,这些数字会使用更多的存储空间。数据类型已经到来。多态性在计算机领域应用还需要几年的时间。 OED引用了该词的早期用法:“ her下的各种肖像因其令人困惑的多态性而令人惊讶……” [ 1839 弗雷泽的 Mag。 XX。 699]。五十年代的编译器要求在可执行代码之前有一组声明。变量名称分为几组,这些组指定了它们各自成员的存储格式。对不同格式的数字进行算术需要不同的指令序列。非数字数据本身就是一个类别。在不久的非数字子类别之前,i。例如,数据类型。它们中的一些形成嵌套序列,就像早期的数字类型---位,小整数,大整数和浮点---形成自然序列一样。函数的域是可以对其进行操作的一组数据类型。典型的OOPS要求声明以不同方式应用于它们的数据类型和函数。它没有考虑功能和它们可以接受的数据类型,而是考虑了数据类型和可以使用它们的功能集。与FORTRAN一样,声明必须在编程开始之前完成。尽管很少使用该功能集,但也可以将其视为功能类型。无论关于数据和功能类型的信息如何存储在早期计算机中,编译器时代,无论它们是存储在CPU中还是存储在磁盘或磁盘上,对于功能数组的思考都很少。密歇根算法解码器(MAD)是五十年代后期的编译器,是我所知道的唯一支持索引函数名称变量的地方。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号