May 2012
M T W T F S S
« Jul «-»  
 123456
78910111213
14151617181920
21222324252627
28293031  

Leaving Chris World?

Why not bring back a souvenir?

Archives

API Knowledge


Half way to the Moon. 50% of 238,856 miles

API Knowledge

It's time to take coding even more seriously than I normally do. I decided that there had to be some formal way in which I could study an API in order to learn how to manage a code base better. For those whom do not know what an API is....

An API or (Application Programming Interface) is a little like a toolbox for computer programmers. Although, instead of wrenches and screwdrivers we have functions like getData and setData. Our tools process information, and our task is to take complex plans and translate them into these functions in order to carry out some higher overarching vision.

Learning to use these tools is somewhat like learning a new language. If you don't know the functions that are available to you then you can not write code. If you can't speak the language of the software then you can't tell the computer what to do.

So one would think that learning all the functions a program can use should be the first must vital task of a starting coder. But that may not be the actual case. In fact, a coder may only be familiar with a much smaller portion of the API and still be able to carry out his or her job.

That's because programmers know their way around the source code. They know how to find what then need when they need it.

They can do it pretty fast.

But there's still no substitute for simply 'knowing' the functions and being able to see the code being written in your mind. This was the thought of the day. This seedling idea sparked a conversation between myself and my programming skill.

Just how much of the API did I know?

And if I was to take on the task of memorizing the functions the same way I used to teach myself new words how much faster could I code? In a sense, I was making the connection between the tools of the API and the fact it is vocabulary. And since it is all vocabulary I should be able to learn about as fast as I learned terms for vocab tests.

The other half of the debate was the value of knowing some functions over others. Which functions get used more often? I could make a hierarchy list of the number of times certain functions are called. Then I could use it to increase the speed and efficiency of learning.

I think I will. I just lack the time to do it tonight. But it's an idea worth advancing.

I think visualizing the statistics of functions in blender is a worthy project as well.

*Knowing how the software handles certain overarching tasks is also vital.
Roles system,backup restore, Database interaction etc. Having the data Hierarchy pictured in your head is a must before even memorizing functions.

Notes

Code Article

You must be logged in to post a comment.