Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
oop-concordance.rtf
Скачиваний:
6
Добавлен:
10.02.2016
Размер:
2.04 Mб
Скачать

203 Parents (as any other member) can be added or changed dynamically, providing

208 languages providing high quality support for rapid prototyping, although this

239 outside of a class, providing functions and procedures. While both CLOS

365 quality compilers), providing a direct program interface to the system.

491 testing providing even greater reliability.

533 (virtual in Simula and C++) method in a derived class, thus providing

685 literature, potentially providing a single static selection in many cases

878 Simula was the first object-oriented language providing objects, classes,

897 and procedures (top-down) are frequently changed, providing object-oriented

975 schemes [Aho 85]. ML is prototypical in providing this facility.

1057 overrode the virtual method from its base class, providing specialized behavior

1073 providing statically-typed dynamic binding (this is really just defining simple

1120 both static and dynamic typing, sometimes with static typing providing type-

1121 safe programs and dynamic typing providing multiple-polymorphism [Agrawal 91]

1162 performed on that type are well defined (statically bound) and providing for

1165 by providing object specialization. However, in many OO languages classes are

1193 to inherit from them, providing a subclass polymorphism facility, and ACs can

1202 [Jones 92] are all examples of OO systems providing subtype polymorphism.

1256 Next's NextStep OS provides delegation using Objective-C, providing an example

1892 Existing software can also be incorporated easily, providing

1955 security systems providing for improved reliability of distributed systems

simula

10 Objects as a formal concept in programming were introduced in the 1960s in Simula 67, a major revision of Simula I, a programming language designed for discrete event simulation, created by Ole-Johan Dahl and Kristen Nygaard of the Norwegian Computing Center in Oslo. Simula 67 was influenced by SIMSCRIPT and Hoare's proposed "record classes". Simula introduced the notion of classes and instances or objects (as well as subclasses, virtual methods, coroutines, and discrete event simulation) as part of an explicit programming paradigm. The language also used automatic garbage collection that had been invented earlier for the functional programming language Lisp. Simula was used for physical modeling, such as models to study and improve the movement of ships and their content through cargo ports. The ideas of Simula 67 influenced many later languages, including Smalltalk, derivatives of LISP (CLOS), Object Pascal, and C++.

11 The Smalltalk language, which was developed at Xerox PARC (by Alan Kay and others) in the 1970s, introduced the term object-oriented programming to represent the pervasive use of objects and messages as the basis for computation. Smalltalk creators were influenced by the ideas introduced in Simula 67, but Smalltalk was designed to be a fully dynamic system in which classes could be created and modified dynamically rather than statically as in Simula 67.[9] Smalltalk and with it OOP were introduced to a wider audience by the August 1981 issue of Byte Magazine.

45 Simula (1967) is generally accepted as the first language to have the primary features of an object-oriented language. It was created for making simulation programs, in which what came to be called objects were the most important information representation. Smalltalk (1972 to 1980) is arguably the canonical example, and the one with which much of the theory of object-oriented programming was developed. Concerning the degree of object orientation, following distinction can be made:

90 "The term object was first formally applied in the Simula language, and

91 objects typically existed in Simula programs to simulate some aspect of

236 defined outside of a class as in conventional programming. Simula and

533 (virtual in Simula and C++) method in a derived class, thus providing

537 is executed overriding the base class method, if any. Overriding in Simula

878 Simula was the first object-oriented language providing objects, classes,

880 It was intended as a conveyance of object-oriented design. Simula 1 was a

881 simulation language, and the later general-purpose language Simula 67 is now

882 referred to as simply Simula. Smalltalk was the next major contributor

885 Simula). Self is somewhat of a Smalltalk-based next generation language, as is

886 BETA a followup to Simula (by its original designers).

976 Inclusion polymorphism is common and is found in languages such as Simula,

subtype

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]