Originally posted by MPMoriarty
Read it before and that didn't give me a lot of information except that it is a framework that helps developers with creating and managing database backends for their applications.
That is what I thought at first.
It looks like the database part of Core Data is the least interesting part. What is cool about Core Data is most likely not going to be visible to end users directly. A developer using Core Data will be able to just describe the data in his application that needs to be saved and let CD take care of the details. In many ways it is very similar to the tradeoff developers made when moving to the original Mac and it's Toolbox.
Before the Mac, everyone wrote their UIs from scratch. The positive side of that was you had the flexibility to do what you wanted as a developer in building a custom UI tailored to your particular application. The negative was that there was a tremendous duplication of effort by developers reinventing / re-implementing all the low level details over and over again.
The winning tradeoff developers made when they moved to the Mac was in sacrificing some freedom to gain a significant amount of functionality for free from Apple. Core Data is the next step in that process of consolidating the common elements of applications into ready to use packages that allow developers to focus their efforts on the unique features of the application.
I've seen people complain about how OS X applications are constantly requiring the latest OS version which forces users to pay for upgrades they don't feel the need for. From a developers perspective things like Core Data, and Bindings in 10.3, enable you to rip out large sections of your code and replace it with something simpler and most likely with more features. Users running older OS versions require the developer to maintain the new small and simple code and all the old messy code. It's just to tempting to just rip out all the old code and require users to have the latest version.