5 ms·
There's a hint of what he thinks about Smalltalk in his book "Programming with Oberon" (co-authored with Martin Reiser). See sections 12.6.1 and, in particular,
by i_don_t_know 5y ago
There's a hint of what he thinks about Smalltalk in his book "Programming with Oberon" (co-authored with Martin Reiser). See sections 12.6.1 and, in particular, 12.6.2 (pages 236-239): https://people.inf.ethz.ch/wirth/ProgInOberonWR.pdf https://people.inf.ethz.ch/wirth/ProgInOberonWR.pdf
- kragen 5y ago§§12.6.1–2 are on pp. 253/338 to 256/338. Initially I went to the wrong pages. Definitely worth a read. Interestingly his point (3) on p.219 (236/338) ("Within the text of a specific action procedure, a regional type guard is required to allow access to the state variables defined in the extension of the base type") was precisely Abadí and Cardelli's motivation for defining the ς-calculus. This limitation means that Oberon's type system is insufficient to statically guarantee the safety of object methods ("action procedures") and this is an obviously desirable thing. He mentions another similar limitation on the Oberon type system on p. 237 (254/338): "The fact that the compiler cannot check whether a message is ‘understood by the object’ may be an advantage or a disadvantage, depending on the type of the application."
- Rochus 5y agoThanks for the reference; unfortunately we don't know who of the two authors has written the paragraph, and it is also not very specific. Meanwhile I found the following paragraph in Wirth's tutorial titled "Programming in Oberon" (of which a version can be downloaded from https://people.inf.ethz.ch/wirth/Oberon/PIO.pdf https://people.inf.ethz.ch/wirth/Oberon/PIO.pdf, and the first version of which apparently is from 2004); on page 57 we can read: "The designers of Smalltalk clearly wished to present not only a new language, but also a new paradigm, a new approach to programming. To be effective and convincing in this endeavor, they provided also a new terminology to underscore a different quality of programming. In this effort, record-structured variables became objects, their associated procedures became methods, a data type became a class, and calling a procedure is now termed sending a message to an object. This is denoted as object.method(message)" It is interesting to note that "object.method(message)" has nothing to do with Smalltalk syntax at all (which supports my assumption that he had little to no personal contact with it). In his 1988 papers Smalltalk is just referenced as one of many OO languages, next to Simula 67, ObjectPascal and C++.