On 19 Apr 2017, at 15.37, Andreas Söderlund <gaz...@gmail.com> wrote:I joined an MVC discussion based on Trygves original ideas,
Abstract--Trygve
Most ideas come from previous ideas. The sixties, particularly in the ARPA community, gave rise to a host of notions about "human-computer symbiosis" through interactive time-shared computers, graphics screens and pointing devices. Advanced computer languages were invented to simulate complex systems such as oil refineries and semi-intelligent behavior. The soon-to-follow paradigm shift of modern personal computing, overlapping window interfaces, and object-oriented design came from seeing the work of the sixties as something more than a "better old thing." This is, more than a better way: to do mainframe computing; for end-users to invoke functionality; to make data structures more abstract. Instead the promise of exponential growth in computing/$/volume demanded that the sixties be regarded as "almost a new thing" and to find out what the actual "new things" might be. For example, one would compute with a handheld "Dynabook" in a way that would not be possible on a shared mainframe; millions of potential users meant that the user interface would have to become a learning environment along the lines of Montessori and Bruner; and needs for large scope, reduction in complexity, and end-user literacy would require that data and control structures be done away with in favor of a more biological scheme of protected universal cells interacting only through messages that could mimic any desired behavior.
Early Smalltalk was the first complete realization of these new points of view as parented by its many predecessors in hardware, language and user interface design. It became the exemplar of the new computing, in part, because we were actually trying for a qualitative shift in belief structures—a new Kuhnian paradigm in the same spirit as the invention of the printing press—and thus took highly extreme positions which almost forced these new styles to be invented.
--------------------------------------------------------
Smalltalk's design—and existence—is due to the insight that everything we can describe can be represented by the recursive composition of a single kind of behavioral building block that hides its combination of state and process inside itself and can be dealt with only through the exchange of messages. Philosophically, Smalltalk's objects have much in common with the monads of Leibniz and the notions of 20th century physics and biology. Its way of making objects is quite Platonic in that some of them act as idealizations of concepts—Ideas—from which manifestations can be created. That the Ideas are themselves manifestations (of the Idea-Idea) and that the Idea-Idea is a-kind-of Manifestation-Idea—which is a-kind-of itself, so that the system is completely self-describing— would have been appreciated by Plato as an extremely practical joke [Plato].
In computer terms, Smalltalk is a recursion on the notion of computer itself. Instead of dividing "computer stuff" into things each less strong than the whole—like data structures, procedures, and functions which are the usual paraphernalia of programming languages—each Smalltalk object is a recursion on the entire possibilities of the computer. Thus its semantics are a bit like having thousands and thousands of computers all hooked together by a very fast network. Questions of concrete representation can thus be postponed almost indefinitely because we are mainly concerned that the computers behave appropriately, and are interested in particular strategies only if the results are off or come back too slowly.
Though it has noble ancestors indeed, Smalltalk's contribution is a new design paradigm—which I called object-oriented—for attacking large problems of the professional programmer, and making small ones possible for the novice user. Object-oriented design is a successful attempt to qualitatively improve the efficiency of modeling the ever more complex dynamic systems and user relationships made possible by the silicon explosion.
Trygve please email Alan and set up a visit to Viewpoints, and invite us to luncheon with you both there. I mean that seriously. I had lunch with Engelbart a decade or so ago and he was in a similar boat where it is hard to get people to grok or accept what you said, wrote, meant, hoped for. People run off to make money from twisted half assed misinterpretations of good ideas. You gotta meet with, stay in touch with, other people who tilt at windmills. Silicon Valley let alone the rest of the world has forgotten and trampled more honestly good ideas than one can shake a stick at. You should also hit up Mark Miller (hp, now google) et. al. who are ex Xanadu folks. If you need a couch to crash on for the visit you are welcome here :) Also the SV Patterns Group. There's others too.
Ditto for Cope tho I suspect he's busy gallavanting around the globe to berate people at DDD conferences? (I mean that in all seriousness in a good way :-)
Trygve please email Alan and set up a visit to Viewpoints, and invite us to luncheon with you both there. I mean that seriously. I had lunch with Engelbart a decade or so ago and he was in a similar boat where it is hard to get people to grok or accept what you said, wrote, meant, hoped for. People run off to make money from twisted half assed misinterpretations of good ideas. You gotta meet with, stay in touch with, other people who tilt at windmills. Silicon Valley let alone the rest of the world has forgotten and trampled more honestly good ideas than one can shake a stick at. You should also hit up Mark Miller (hp, now google) et. al. who are ex Xanadu folks. If you need a couch to crash on for the visit you are welcome here :) Also the SV Patterns Group. There's others too.
The essence of object orientation is
that objects collaborate to achieve a
goal.
Trygve Reenskaug mailto: try...@ifi.uio.no
Morgedalsvn.
5A http://folk.uio.no/trygver/
N-0378
Oslo http://fullOO.info
Norway Tel:
(+47) 468 58 625