You’ve shown a great deal of persistence in getting this far, and I hope the journey has been rewarding and held your interest. As satisfying as sticking with something is, that kind of persistence isn’t what this chapter covers.
This chapter is about persisting application data over time. You don’t run the applications you use forever, and despite the stability of computer systems, they are shut down and restarted periodically.
Imagine using a complex spreadsheet and having to re-enter all the data every time you restarted the application or powered on the computer. Even with the enormous processing power of a computer, it would hardly be a helpful device if there was no way to save and restore the information entered into it.
As a developer, it’s easy to think of the application code you’re creating as the primary product of your efforts. But, in reality, your cool, essential application with all its well-thought-out features and functions is only half the story. The other, equally important half is the data that your application helps the user work with. Modifying, transforming, and providing insights into the data in which your users are interested is the raw material an application works with.