[Home]History of Application programming interface

HomePage | Recent Changes | Preferences

Revision 6 . . (edit) December 13, 2001 4:40 am by Uriyan
Revision 5 . . December 13, 2001 1:33 am by Lee Daniel Crocker [Copyedits]
Revision 4 . . December 13, 2001 1:21 am by Uriyan [+ Patents]
Revision 3 . . December 13, 2001 1:10 am by Uriyan [Moved from API]
Revision 2 . . October 31, 2001 9:07 am by (logged).253.39.xxx
  

Difference (from prior major revision) (minor diff, author diff)

Changed: 1c1
Application Programming Interface (API) is a set of definitions of the ways in which one piece of computer software communicates with another. It is a method of achieving abstraction?, usually (but not necesserily between lower-level and higher-level software). Generally, the main purpose of API is to spare from the programmer the need to write software from scratch. A set of programs that comply to a certain API are called an implementation.
An Application Programming Interface (API) is a set of definitions of the ways in which one piece of computer software communicates with another. It is a method of achieving abstraction?, usually (but not necesserily) between lower-level and higher-level software. Generally, the main purpose of an API is to spare from the programmer the need to write software from scratch.

Changed: 8c8
## Work out the sequence of electrical pulses that I need to send to the computer screen to draw that matrix. It might be 5 volts for black, 1 volt for white.
## Work out the sequence of electrical pulses that you need to send to the computer screen to draw that matrix. It might be 5 volts for black, 1 volt for white.

Changed: 12c12
APIs are as essential to computers as electrical standards are to the home. One can plug his toaster into the wall whether he is at home or at a neighbour's house, because both houses conform to the standard API for an electrical socket. If there wasn't an API standard, I would have to bring a power station with me to make my toast! Note that there is nothing stopping somebody else coming up with another standard; a UK toaster will not work in the US, just as a program written for Microsoft Windows will not work directly on DOS.
APIs are as essential to computers as electrical standards are to the home. One can plug his toaster into the wall whether he is at home or at a neighbour's house, because both houses conform to the standard API for an electrical socket. If there wasn't an API standard, I would have to bring a power station with me to make my toast! Note that there is nothing stopping somebody else coming up with another standard; a UK toaster will not work in the US, just as a program written for Microsoft Windows will not work directly on DOS.

Changed: 15c15
* Some companies guard their APIs jealously. For example, Sony charges a large amount of money before you can even see the SDK documentation. This is because Sony wants to restrict the amount of people who are able to write a PlayStation game, and to profit from them as much as possible. This is typical of companies who do not profit from the sale of API implementations (in this case, PlayStation consoles which are sold at a loss for Sony).
* Some companies guard their APIs jealously. For example, Sony charges a large amount of money before you can even see the SDK documentation for its PlayStation. This is because Sony wants to restrict the amount of people who are able to write a PlayStation game, and to profit from them as much as possible. This is typical of companies who do not profit from the sale of API implementations (in this case, PlayStation consoles which are sold at a loss for Sony).

Changed: 18c18
An API which does require royalties for access and usage is called open. The APIs provided by Free software (such as software distributed under the GNU General Public License), are open by definition, since anyone can look into the source of the software and figure out the API basing on it. Although usually authorative implementations exist for an API (such as Microsoft Windows for Windows API), there's nothing that prevents the creation of additional implementations. For example, Windows API can be provided under Linux using software called [Wine].
An API which does not require royalties for access and usage is called open. The APIs provided by Free software (such as software distributed under the GNU General Public License), are open by definition, since anyone can look into the source of the software and figure out the API. Although usually authorative implementations exist for an API (such as Microsoft Windows for Windows API), there's nothing that prevents the creation of additional implementations. For example, the Windows API can be provided under Linux using software called [Wine].

Changed: 20c20
It is generally legal to analyze API implementations in order to produce a compatible one. This technique is called reverse engineering for the purposes of compatibility. However, the legal situation is often ambiguous nevertheless, so that care and legal council should be taken before the reverse engineering is carried out. For example, while APIs usually do not have an obvious legal status, they may include patents, that may not be used until the patent holder gives his permission.
It is generally legal to analyze API implementations in order to produce a compatible one. This technique is called reverse engineering for the purposes of compatibility. However, the legal situation is often ambiguous, so that care and legal counsel should be taken before the reverse engineering is carried out. For example, while APIs usually do not have an obvious legal status, they may include patents that may not be used until the patent holder gives his permission.

Removed: 27d26


HomePage | Recent Changes | Preferences
Search: