The programming interfaces of Core Foundation have been designed for ease of use. Before you can reach any level of comfortable competency with these programming interfaces, however, you should understand a few concepts on which Core Foundation is based.