3 ms·
Both Dahl et al.'s Simula as you mentioned (1968)[1] and J.H. Morris (1968; 9-10)[2] allude to it without explicitly mentioning OO by name, following earlier me
by dleeftink 3y ago
Both Dahl et al.'s Simula as you mentioned (1968)[1] and J.H. Morris (1968; 9-10)[2] allude to it without explicitly mentioning OO by name, following earlier mentions of atomics by Fox et al. (1960)[3]. If you need something more explicit, I'll try to do some more digging tomorrow in architecture diagrams and lecture notes.
1: https://repository.lib.ncsu.edu/bitstream/handle/1840.4/5681/1968_0007.pdf https://repository.lib.ncsu.edu/bitstream/handle/1840.4/5681...
2: https://dspace.mit.edu/bitstream/handle/1721.1/149376/MIT-LCS-TR-057.pdf https://dspace.mit.edu/bitstream/handle/1721.1/149376/MIT-LC...
3: http://history.siam.org/sup/Fox_1960_LISP.pdf http://history.siam.org/sup/Fox_1960_LISP.pdf
- Rochus 3y ago> allude to it without explicitly mentioning OO by name Right, that's the point; they were talking about classes and objects; the term "inheritance" was not yet used ("prefix" instead), neither the term "object-oriented"; it was a completely new paradigm and the terminology had first to be developed. Kay in his 1993 paper claims that he called his approach, as manifested in Smalltalk-72, "object-oriented". So I would expect publications to use the term after 1972. As I said I found it in Ingall's 1978 (written end of 1977) paper. Concerning your reference 3 (Lisp) the term "object" is apparently used to refer to atomic symbols; Lisp entered the OO age with Flavors, CommonLoops and CLOS in the eighties.
- lispm 3y agoIn Lisp (and similar) sometimes the term object is used, since it's not the variable that's important, but the data object which is returned from a function and which has an identity. A symbol has by definition an entity. A symbol also has a property list, which is a mutable storage with keys and values. Since knowledge representation was an early topic, using property lists was not unusual. Then various forms of procedural invocations were tried. For example 'access oriented' style was by invoking functions (if-needed, if-added, if-removed, ...) when a slot was accessed. So-called slot-demons. That lead to frame systems, like FRL from 1977. Using a property list for key/values : CL-USER 21 > 'bladerunner BLADERUNNER CL-USER 22 > (setf (get 'bladerunner 'is-a) 'movie) MOVIE CL-USER 23 > (push 'harrison-ford (get 'bladerunner 'actors)) (HARRISON-FORD) CL-USER 24 > (push 'sean-young (get 'bladerunner 'actors)) (SEAN-YOUNG HARRISON-FORD) CL-USER 25 > (push 'rutger-hauer (get 'bladerunner 'actors)) (RUTGER-HAUER SEAN-YOUNG HARRISON-FORD) CL-USER 26 > (symbol-plist 'bladerunner) (ACTORS (RUTGER-HAUER SEAN-YOUNG HARRISON-FORD) IS-A MOVIE) For example "SIR: a computer program for semantic information retrieval" by Bertram Raphael, 1964: https://dspace.mit.edu/handle/1721.1/6904 https://dspace.mit.edu/handle/1721.1/6904 Page 45: "The model in SIR is based largely upon the use of description-lists. A description-list is a sequence of pairs of elements, and the entire list is associated with a particular object. The first element of each pair is the name of an attribute applicable to a class of objects, and the second element of the pair is the value of that attribute for the object described." There we already see the terms used: OBJECT, CLASS, ATTRIBUTE, VALUE Then he introduces the "is" set-inclusion relation. There is also a part-whole relationship. And more... 'basic objects' are words. Later research then added the idea of procedure invocations by various means.