
Alan Kay at OOPSLA 1997 (“The computer revolution hasn't happened yet”) - tosh
https://www.youtube.com/watch?v=oKg1hTOQXoY
======
tosh
inlining the pinned comment by Joel Jakubovic from Youtube as it is easy to
miss:

    
    
      07:00 "On the Fact that the Atlantic Has Two Sides"
            Kay: "On the Fact that Most of the World's Software Is Written On One Side Of The Atlantic!"
      07:30 Two types of math: computers = practical math
            structures of a much larger kind, consistent
      08:55 Debugging goes on in math as well
      10:00 What's being done out in the world under the name of "OOP"?
      10:33 Infamous C++ quip
      10:50 Same feelings about Smalltalk! Meant to be improved. Not syntax, or classes. Taken as given...
      13:00 Math as gears
      13:35 Analogy to 60s programs: SCALING A DOGHOUSE!
      18:00 Pink plane / blue plane
      21:30 Data abstraction in 1961 US Air Force
      23:25 Contrast that with what you have to do with HTML on the internet! Dark Ages!
              Presupposes that there should be a "browser" that should understand its format.
              "This has to be one of the worst ideas since MS-DOS"
              What happens when physicists decide to play with computers :P
            Browser wars, which are 100% irrelevant [to the big picture]
      25:30 The internet is starting to move in that direction as people invent ever more complex HTML formats, ever more intractable.
           This same mistake made over and over again
      26:00 Sketchpad: very much an object-oriented system
      26:50 Simula
      27:50 Better Old Thing vs. New Thing
      29:20 Molecular biology: cell physiology and embryology (morphogenesis)
      30:00 First assay of an entire living creature: E.Coli; biological info processing
      34:10 Only takes 50 (40) cell division [cycles?] to make a baby!
      35:20 Computers: slow, small, stupid. How can we get them to realise their destiny?
      36:00 Doghouses, clocks don't scale 100x very well. Cells scale by 1,000,000,000,000x.
            How do they do it, how might we adapt this for building complex systems?
      36:40 Simple idea that C++ has not figured out.
            "No idea so simple and powerful that you can't get zillions of people to misunderstand it"
            Must not allow the INTERIOR to be a factor in the computation of the whole
            Cell membrane keeps stuff OUT as much as it keeps stuff IN
            Confusion with objects from noun+verb-centered language. "Our process words stink"
      37:50 Apologies for "Object-Oriented". Should have been Process/Message/間 (ma) -Oriented
            Stuff IN-BETWEEN objects. What you DON'T see.
      39:25 An object can act like anything. You have encapsulated a COMPUTER!! The universal simulator!
            Take the powerful thing you're working on and not LOSE it by PARTITIONING UP your design space!
            That's the bug in data/procedures.
            Pernicious thing in C++ and Java by looking like the OLD THING as much as possible.
      40:35 Virtual Machine
      41:00 UNIX processes: like objects, but too much overhead. "3" ought to be an object; but it can't be a UNIX process.
      41:50 Bio-cells can't share their DNA. OUR "cells" can! No need to e.g. engineer a special virus to change the DNA (e.g. cystic fibrosis)
      43:00 "An object is a virtual server" Every object should at least have a "URL"
            I believe every object should have an IP
      44:10 So far we've been CONSTRUCTING software; soon we'll have to GROW it
            Easy to grow a baby 6 inches; never have to take it down for maintenance!!
            Can't grow a Boeing 747! Simple mechanical world; only object was to MAKE the artefact, NOT to grow it
      44:55 How many people STILL[1997] use a dev system that forces you to develop OUTSIDE of the lang?
            Edit/compile/run? Even if it is "fast". Cannot possibly be other than a DEAD END for building complex systems!
            [20 years later, in 2017: has anything changed?]
      45:50 ARPANET, the precursor to the Internet.
            From the time ARPANET started running, expanded by 8 orders of magnitude.
            Not ONE PHYSICAL ATOM in the internet today that was in the original ARPANET!
            Not ONE LINE OF CODE of the original remains in the system!
            System expanded by 100,000,000x, has changed every atom and every bit and has NEVER HAD TO STOP!
            That is the metaphor we ABSOLUTELY MUST apply to what we THINK are "smaller" things!
            When we think programming is "small", that's why our programs are so BIG.
      47:45 LISP, meta-reflection. "Maxwell's Equations" of software
            Saddest thing about Java (possibly before reflection API?)
            Java originally for programming toasters, not internet, but still --
            How can you hope to cope with stuff without a meta-system?
            Represents a real failure of people to understand what the larger picture is / will be.
      50:10 Meta-programming. Bootstrapping on top of the language itself.
            Tyranny of a single implementation.
      52:15 Dozens and dozens of different object systems, all with very similar semantics, but different pragmatic details.
            Think of what a URL is, a HTTP message is, an object is, an obj-oriented pointer is...
            Should be clear that objects should not have to be local to the computer.
            Interop is possible basically for free under this stance.
            Things like JavaBeans and CORBA will not suffice.
            Objects will have to DISCOVER and NEGOTIATE what each other can do.
            Prod and poke each other to see response.
            Must automate this!!
      55:20 1970s: Abstract Data Types. Assignment-centered thinking.
            C++ like MS-DOS: no-one took seriously, because who would ever fall for a joke like that? ...
      57:35 McLuhan: "I don't know who discovered water, but it wasn't a fish!"
      58:10 3 stages of new ideas:
            Dismissed as mad.
            Then: totally obvious.
            Finally: original denouncers claim to have invented it!
            Smalltalk, sadly, went this way.
            We don't know how to make systems yet!
            Don't let what we DON'T know become a religion!
            Before coming out into the world, Smalltalk was very good at making obsolete previous versions of itself.
            Squeak: bootstrap something better than Smalltalk!
            Think of how you can obsolete the damn thing!
      1:01:30 Pipe organ: "Play it grand."
    
      Let us combine all this with Bret Victor's work, and lay the foundations for the real computer revolution yet to come.

