Tuesday, June 26, 2007

API's -- Application Programming Interfaces

I always liked the sound of the words. Even before I knew what they meant. It's been a lot of years and the meaning has changed for me quite a few times over the last decade. Wikipedia describes and API as a source code interface that a computer system or program library provides to support requests for services to be made of it by a computer program. But that isn't what it means to me. It means access. Access to all the code written by the knowledgeable people who wrote the application. So without having to know everything about what was happening inside of the black box, I was given some handles so that I could manipulate the box to do work for me.
Especially when I was first starting as a coder that was very important to me. I knew enough to be dangerous. I more than once watched as a printer in our computer science lab tried to dance off it's stand due to some misbehaving code I had created. In some ways the API's gave me the ability to be even more dangerous, but for the most part they left the complexities of the low level code to the experts, while still giving me a way to realize my vision of what I wanted my code to accomplish.
I spent today looking through CiviCRM's API's looking for the structures that would allow me to unleash it's power without breaking too many things, or torturing too many brain cells. I can feel the sense of possibilities coming on. But it will take some time to see. If we have access to what we need.

No comments: