(1) I believe this is Alan Kay.
(2) SmallTalk and C++ are both spawned from ideas of Simula. But SmallTalk is a dynamic language compared to the compiled language of C++. C++ is also very strongly typed where SmallTalk has no data type assoctiated when declaring a variable. And last but not least, SmallTalk is a true object oriented language because every object is an instance of a class, where C++ is a knock-off wanna-be.
(3) SketchPad allowed users to create one picture, then make copies of that image. If changes were made to a copy, it only affected that image. However, if someone was changed on the main image, the affect was done to all of the copies of that image. From this came what we call instinces and OO was born.
(4) Structured Programming: Pascal Brian Pashel
"C++ : an octopus made by nailing extra legs onto a dog" –unknown
On #2: Strong typing was not really Bjarne Stroustrup's most critical issue when he designed C++. Mark Guzdial
C++ focused primarily on efficiency, and on backwards compatibility with C (which it is, incidentally, not quite perfectly backwards compatible with), while Squeak focuses more on portability and on constructs that support good object-oriented design and programming.
C++ also does focus very much on strong typing, to reduce runtime errors which are difficult to handle with native code (under virtual machines like Squeak type errors can be easier to catch at runtime), and on creating more reusable components such as containers in the standard library, to increase portability somewhat.
Another note, C++ is meant to be a more complex, basic program language where the programmer deals with every aspect of the program including type and memory. Smalltalk is easier to use, does not check typing or memory allocation, and is easier for a student. The prototype based inheritance is also important in Smalltalk.
Does structured programming refer to using structs instead of classes, as in C? #19