They ought to be able to use that experience in solving programming problems. At the programming level, objects can appear in various ways. In the beginning of this book, we use comments to bracket off the parts of programs corresponding to design objects. As we introduce new language features, we rely more on the code without the comments to describe the objects developed in our designs. With classes, we are able to capture in our code exactly what we had in our designs without relying strictly on comments to show us the way.
Objects are concrete.
Classes are the abstract mechanism for producing objects. We chose to leave classes until students could first become familiar with functions and control structures. Furthermore, students find it easy to use class libraries and class type objects quite early. We knew they were wrong, but they did not find out until they tried to sell the skills they did not have. We think students need to see the whole picture in object-oriented program development.