API: Difference between revisions

Content deleted Content added
m Reverted edits by Vikramrao1966 (talk) to last version by 194.39.218.10
Claer
Tags: Visual edit Mobile edit Mobile web edit
Line 1:
{{short description|Set of subroutine definitions, protocols, and tools for building software and applications}}In [[Programming language|computer programming]], an '''application programming interface''' ('''API''') is a set of subroutine definitions, [[communication protocols]], and tools for building software. In general terms, it is a set of clearly defined methods of communication among various components. A good API makes it easier to develop a [[computer program]] by providing all the building blocks, which are then put together by the [[programmer]].
{{short description|Set of subroutine definitions, protocols, and tools for building software and applications}}
{{redirect|API}}
 
In [[Programming language|computer programming]], an '''application programming interface''' ('''API''') is a set of subroutine definitions, [[communication protocols]], and tools for building software. In general terms, it is a set of clearly defined methods of communication among various components. A good API makes it easier to develop a [[computer program]] by providing all the building blocks, which are then put together by the [[programmer]].
 
An API may be for a web-based system, [[operating system]], [[database system]], computer hardware, or [[Library (computing)|software library]].
Line 21 ⟶ 18:
A single API can have multiple implementations (or none, being abstract) in the form of different libraries that share the same programming interface.
 
The separation of the API from its implementation can allow programs written in one language to use a library written in another. For example, because [[Scala (programming language)|Scala]] and [[Java (programming language)|Java]] compile to compatible [[bytecode]], Scala developers can take advantage of any Java API.<ref name="OderskySpoonVenners8">{{cite web|last1=Odersky|first1=Martin|last2=Spoon|first2=Lex|last3=Venners|first3=Bill|title=Combining Scala and Java|url=http://www.artima.com/pins1ed/combining-scala-and-java.html|website=www.artima.com|accessdate=29 July 2016|date=10 December 2008}}</ref>
 
API use can vary depending on the type of programming language involved.
Line 195 ⟶ 192:
== Examples ==
{{Main category|Application programming interfaces}}
 
{{Div col}}
* [[Advanced SCSI programming interface|ASPI]] for [[SCSI]] device interfacing
* [[Cocoa (API)|Cocoa]] and [[Carbon (API)|Carbon]] for the [[Macintosh]]
* [[DirectX]] for [[Microsoft Windows]]
* [[EHLLAPI]]
* [[List of Java APIs|Java APIs]]
* [[Open Database Connectivity|ODBC]] for [[Microsoft Windows]]
* [[OpenAL]] cross-platform sound API
* [[OpenCL]] cross-platform API for general-purpose computing for CPUs & GPUs
* [[OpenGL]] cross-platform graphics API
* [[OpenMP]] API that supports multi-platform shared memory multiprocessing programming in C, C++ and Fortran on many architectures, including Unix and Microsoft Windows platforms.
* [[Server Application Programming Interface]] (SAPI)
* [[Simple DirectMedia Layer]] (SDL)
{{Div col end}}
 
==See also==