« Who's in FRONT? Roland Lazenby | Main | Tech Showcase - NextThreeDays Widget Premiere »

API - Just Draw Me a Picture

Posted by Alex Edelman at 6:30 AM on May 17, 2010:

Everybody and their mother seems to have an API nowadays. What does that mean?

The application programming interface, or API, is a general and ubiquitous concept that tackles the problem of abstraction. Computers programs are, most fundamentally, chunks of binary code that correspond to a few simple instructions (e.g. add these values and put them in this memory location) that the computer steps through and executes. Programming at such a low level is generally long, boring and repetitive.

We would prefer to programmatically manipulate data structures in much the same way that we talk about the objects we're representing: I want to type ball = sphere (radius=1, color=color.red) (valid VPython code) and see a red ball without ever worrying about how the computer goes about creating it.

An API is a set of high-level behaviors that a programmer can use without programming the underlying operations. In scientific computing, for example, I often want to manipulate vectors, and instead of writing the code to do so by hand, I can use the linear algebra API BLAS. (An API is technically distinct from the API's implementation. The former is just the high-level behavior defined, while the latter is the code that actually runs when a programmer uses the API. BLAS is only one set of operations, but many codes implement it.)

How does an API work? Just draw me a picture.

Today's web APIs certainly make programming at a high level of abstraction easy (I can ask Facebook for a nicely-formatted, human-readable object representing a user's profile in one line of code), but they serve a second, crucial purpose: making the web more connected. Without APIs, apps are restricted to point-and-click interactions with real people using browsers (or programs that pretend to be people). APIs allow all parts of the modern ecosystem to talk to each other seamlessly.

***

Alex Edelman is Chief Technology Officer of Handshake Media, Incorporated.

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00e54f92340888330133edb1eafb970b

Listed below are links to weblogs that reference API - Just Draw Me a Picture:

Comments

Feed You can follow this conversation by subscribing to the comment feed for this post.

The comments to this entry are closed.