190:
269:
702:. In the social media space, web APIs have allowed web communities to facilitate sharing content and data between communities and applications. In this way, content that is created in one place dynamically can be posted and updated to multiple locations on the web. For example, Twitter's REST API allows developers to access core Twitter data and the Search API provides methods for developers to interact with Twitter Search and trends data.
658:) format. An example might be a shipping company API that can be added to an eCommerce-focused website to facilitate ordering shipping services and automatically include current shipping rates, without the site developer having to enter the shipper's rate table into a web database. While "web API" historically has been virtually synonymous with
339:. This framework treated the application programming interface separately from other interfaces, such as the query interface. Database professionals in the 1970s observed these different interfaces could be combined; a sufficiently rich application interface could support the other interfaces as well.
428:
interfaces and agents became more widespread than open ones, but the idea of the API as a data interface took hold. Because web APIs are widely used to exchange data of all kinds online, API has become a broad term describing much of the communication on the internet. When used in this way, the term
1235:
When you hear the acronym "API" or its expanded version "Application
Programming Interface," it is almost always in reference to our modern approach, in that we use HTTP to provide access to machine readable data in a JSON or XML format, often simply referred to as "web APIs." APIs have been around
851:
In the interest of clarity, API documentation may include a description of classes and methods in the API as well as "typical usage scenarios, code snippets, design rationales, performance discussions, and contracts", but implementation details of the API services themselves are usually omitted. It
831:
published their annual “State of the
Internet” report, showcasing the growing trend of cybercriminals targeting public API platforms at financial services worldwide. From December 2017 through November 2019, Akamai witnessed 85.42 billion credential violation attacks. About 20%, or 16.55 billion,
874:
It is possible to generate API documentation in a data-driven manner. By observing many programs that use a given API, it is possible to infer the typical usages, as well the required contracts and directives. Then, templates can be used to generate natural language from the mined data.
822:
or rescinded. This usually means that part of the API should be considered a candidate for being removed, or modified in a backward incompatible way. Therefore, these changes allow developers to transition away from parts of the API that will be removed or not supported in the future.
718:
by hiding the implementation details of the modules so that users of modules need not understand the complexities inside the modules. Thus, the design of an API attempts to provide only the tools a user would expect. The design of programming interfaces represents an important part of
639:(SLA) to specify the functional provider and expose the service path or URL for its API users. An API approach is an architectural approach that revolves around providing a program interface to a set of services to different applications serving different types of consumers.
889:
In 2010, Oracle
Corporation sued Google for having distributed a new implementation of Java embedded in the Android operating system. Google had not acquired any permission to reproduce the Java API, although permission had been given to the similar OpenJDK project. Judge
2056:
826:
Client code may contain innovative or opportunistic usages that were not intended by the API designers. In other words, for a library with a significant user base, when an element becomes part of the public API, it may be used in diverse ways. On
February 19, 2020,
493:
are also APIs. By mapping the features and capabilities of one language to an interface implemented in another language, a language binding allows a library or service written in one language to be used when developing in another language. Tools such as
513:: a framework can be based on several libraries implementing several APIs, but unlike the normal use of an API, the access to the behavior built into the framework is mediated by extending its content with new classes plugged into the framework itself.
121:
of how a system works, exposing only those parts a programmer will find useful and keeping them consistent even if the internal details later change. An API may be custom-built for a particular pair of systems, or it may be a shared standard allowing
847:
Traditional documentation files are often presented via a documentation system, such as
Javadoc or Pydoc, that has a consistent appearance and structure. However, the types of content included in the documentation differs from API to API.
843:
Documentation is crucial for the development and maintenance of applications using the API. API documentation is traditionally found in documentation files but can also be found in social media such as blogs, forums, and Q&A websites.
342:
This observation led to APIs that supported all types of programming, not just application programming. By 1990, the API was defined simply as "a set of services available to a programmer for performing certain tasks" by technologist
759:
allow approved third-party developers to directly order rides from within their apps. This allows the companies to exercise quality control by curating which apps have access to the API, and provides them with an additional revenue
248:. This cabinet also contained what Wilkes and Wheeler called a "library catalog" of notes about each subroutine and how to incorporate it into a program. Today, such a catalog would be called an API (or an API specification or
591:, specific standards for communication that allow different technologies to work together, regardless of language or platform. For example, the Java Database Connectivity API allows developers to query many different types of
299:
conference in 1968. The authors of this paper use the term to describe the interaction of an application—a graphics program in this case—with the rest of the computer system. A consistent application interface (consisting of
2064:
855:
Restrictions and limitations on how the API can be used are also covered by the documentation. For instance, documentation for an API function could note that its parameters cannot be null, that the function itself is not
926:, but Oracle vowed to appeal the decision. Oracle won on its appeal, with the Court of Appeals for the Federal Circuit ruling that Google's use of the APIs did not qualify for fair use. In 2019, Google appealed to the
906:
To accept Oracle's claim would be to allow anyone to copyright one version of code to carry out a system of commands and thereby bar all others from writing its different versions to carry out all or part of the same
800:
An important factor when an API becomes public is its "interface stability". Changes to the API—for example adding new parameters to a function call—could break compatibility with the clients that depend on that API.
97:
who is incorporating it into software. An API is often made up of different parts which act as tools or services that are available to the programmer. A program or a programmer that uses one of these parts is said to
790:
APIs to allow customers and resellers access to their infrastructure information, DDoS stats, network performance or dashboard controls. Access to such APIs is granted either by “API tokens”, or customer status
362:
became common in the 1970s and 80s, programmers wanted to call libraries located not only on their local computers, but on computers located elsewhere. These remote procedure calls were well supported by the
89:, which connects a computer to a person, an application programming interface connects computers or pieces of software to each other. It is not intended to be used directly by a person (the
1468:
852:
can take a number of forms, including instructional documents, tutorials, and reference works. It'll also include a variety of information types, including guides and functionalities.
860:. Because API documentation tends to be comprehensive, it is a challenge for writers to keep the documentation updated and for users to read it carefully, potentially yielding bugs.
902:
in the U.S. and that a victory for Oracle would have widely expanded copyright protection to a "functional set of symbols" and allowed the copyrighting of simple software commands:
2631:
Monperrus, Martin; Eichberg, Michael; Tekes, Elif; Mezini, Mira (3 December 2011). "What should developers be aware of? An empirical study on the directives of API documentation".
804:
When parts of a publicly presented API are subject to change and thus not stable, such parts of a particular API should be documented explicitly as "unstable". For example, in the
257:
1025:
API that supports multi-platform shared memory multiprocessing programming in C, C++, and
Fortran on many architectures, including Unix and Microsoft Windows platforms.
840:
API documentation describes what services an API offers and how to use those services, aiming to cover everything a client would need to know for practical purposes.
450:
is one type of API. The API describes and prescribes the "expected behavior" (a specification) while the library is an "actual implementation" of this set of rules.
912:
1871:
731:
APIs are one of the more common ways technology companies integrate. Those that provide and use APIs are considered as being members of a business ecosystem.
2676:
618:
object, invokes the corresponding method on the remote object, using the remoting protocol, and acquires the result to be used locally as a return value.
2934:
456:
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
453:
A single API can have multiple implementations (or none, being abstract) in the form of different libraries that share the same programming interface.
2799:
409:
web APIs saw widespread commercial adoption beginning in 2000 and continuing as of 2021. The web API is now the most common meaning of the term API.
401:(REST) and described the idea of a "network-based Application Programming Interface" that Fielding contrasted with traditional "library-based" APIs.
17:
3156:
2361:. Lecture Notes in Computer Science. Vol. 6603. International Conference on Fundamental Approaches to Software Engineering. pp. 416–431.
2880:
635:
Web APIs are the defined interfaces through which interactions happen between an enterprise and applications that use its assets, which also is a
2906:
560:(Win32) library, so older applications may run on newer versions of Windows using an executable-specific setting called "Compatibility Mode".
2778:
2256:
1366:. AFIPS 1968 Fall Joint Computer Conference. Vol. I. San Francisco, California: Association for Computing Machinery. pp. 533–544.
3025:
Argues that "APIs are far from neutral tools" and form a key part of contemporary programming, understood as a fundamental part of culture.
2500:
3618:
3103:
946:
1075:
786:. Not all public APIs are generally accessible by everybody. For example, Internet service providers like Cloudflare or Voxility, use
536:, for example, specifies a set of common APIs that aim to enable an application written for a POSIX conformant operating system to be
304:
subroutine calls) was intended to free the programmer from dealing with idiosyncrasies of the graphics display device, and to provide
1069:
2603:
1028:
2131:
650:(HTTP) request messages, along with a definition of the structure of response messages, usually in an Extensible Markup Language (
3062:
3008:
265:
considers that Wilkes and
Wheeler "latently invented" the API, because it is more of a concept that is discovered than invented.
832:
were against hostnames defined as API endpoints. Of these, 473.5 million have targeted financial services sector organizations.
3432:
3403:
2827:
2733:
2475:
2419:
2374:
209:. This origin is still reflected in the name "application programming interface." Today, the term is broader, including also
165:
the underlying implementation and only exposing objects or actions the developer needs. While a graphical interface for an
1359:
953:
249:
169:
might provide a user with a button that performs all the steps for fetching and highlighting new emails, an API for file
2856:
3036:
2011:
1526:
1488:
1451:
1379:
1131:
927:
884:
380:
225:
162:
2156:
516:
Moreover, the overall program flow of control can be out of the control of the caller and in the framework's hands by
2571:
2282:
2086:
1813:
1556:
1199:
193:
A diagram from 1978 proposing the expansion of the idea of the API to become a general programming interface, beyond
3623:
3207:
3151:
2706:
Bruch, Marcel; Mezini, Mira; Monperrus, Martin (2010). "Mining subclassing directives to improve framework reuse".
2198:
1875:
1699:
922:
In 2016, following a two-week trial, a jury determined that Google's reimplementation of the Java API constituted
3126:
3096:
1285:(Report). Washington, DC: U.S. Department of Commerce, National Bureau of Standards. April 1981. pp. 45–47.
699:
675:
398:
1968:
1475:. SIGMOD Workshop 1974. Vol. 2. Ann Arbor, Michigan: Association for Computing Machinery. pp. 83–113.
479:
could consist primarily of basic routines to execute code, manipulate data or handle errors while an API for an
3319:
3217:
2841:
2684:
691:
683:
547:
1911:
1726:
3597:
3146:
3131:
1889:
671:
596:
503:
3192:
3177:
3136:
2525:
Dekel, Uri; Herbsleb, James D. (May 2009). "Improving API Documentation
Usability with Knowledge Pushing".
564:
510:
457:
621:
A modification of the proxy object will also result in a corresponding modification of the remote object.
3358:
3305:
2327:
1404:
647:
607:
480:
461:
364:
252:) because it instructs a programmer on how to use (or "call") each subroutine that the programmer needs.
3061:– Cory Ondrejka \ February 28, 2014 \ " ...proposed a public API to let computers talk to each other". (
1516:
189:
3373:
3212:
3089:
3075:
1546:
1290:
1189:
1106:
1091:
995:
476:
336:
930:
over both the copyrightability and fair use rulings, and the
Supreme Court granted review. Due to the
273:
3408:
3227:
3187:
3182:
3141:
1410:
1282:
214:
2535:
177:
that copies a file from one location to another without requiring that the developer understand the
3451:
3338:
3202:
1668:
1254:
1151:
1111:
1034:
2716:
1443:
E. F. Codd and
Relational Theory: A Detailed Review and Analysis of Codd's Major Database Writings
3197:
1415:
808:
library, the parts that are considered unstable, and that might change soon, are marked with the
636:
588:
332:
70:. A document or standard that describes how to build such a connection or interface is called an
3585:
3524:
3413:
3393:
3342:
3300:
2987:"Supreme Court of the United States, No. 18–956, GOOGLE LLC, PETITIONER v. ORACLE AMERICA, INC"
2911:
2711:
2530:
2450:
2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM)
1663:
1086:
472:
430:
376:
351:
178:
161:
In building applications, an API (application programming interface) simplifies programming by
107:
3028:
2986:
2034:
1939:
1788:
1625:
1573:
1441:
3368:
3334:
3236:
3172:
1651:
1469:"The relational and network approaches: Comparison of the application programming interfaces"
1423:
1101:
1080:
720:
698:
technologies. Web APIs allow the combination of multiple APIs into new applications known as
643:
600:
305:
63:
3565:
3539:
695:
517:
425:
277:
138:
31:
1219:
8:
3534:
3486:
3363:
2551:
2445:
2091:
1437:
1141:
1096:
828:
715:
576:
447:
322:
316:
206:
194:
142:
94:
2398:"guava-libraries – Guava: Google Core Libraries for Java 1.6+ – Google Project Hosting"
1773:
153:. APIs originated in the 1940s, though the term did not emerge until the 1960s and 70s.
3471:
3378:
2739:
2658:
2640:
2577:
2481:
2453:
2179:
1673:
1236:
almost as long as computing, but modern web APIs began taking shape in the early 2000s.
1162:
1064:
783:
711:
241:
118:
2446:"Empirical evidence of large-scale diversity in API usage of object-oriented software"
1837:
471:
API use can vary depending on the type of programming language involved. An API for a
3580:
3529:
3461:
3418:
3259:
3016:
2835:
2729:
2567:
2471:
2370:
2356:
2007:
1996:
1809:
1552:
1522:
1494:
1484:
1447:
1385:
1375:
1294:
1195:
999:
990:
980:
931:
291:
150:
82:
an API. The term API may refer either to the specification or to the implementation.
3058:
3043:; API (also known as Application Program Interface) is the method for calling that '
2581:
2183:
1677:
1610:
1597:
Dotsika, Fefie (August 2010). "Semantic APIs: Scaling up towards the Semantic Web".
556:
has shown a strong commitment to a backward-compatible API, particularly within its
220:
The idea of the API is much older than the term itself. British computer scientists
3560:
3112:
2806:
2743:
2721:
2680:
2662:
2650:
2559:
2485:
2463:
2362:
2171:
2106:
2063:. Institute of Electrical and Electronics Engineers. pp. 13–15. Archived from
1803:
1655:
1606:
1476:
1367:
1331:
1286:
748:
529:
490:
359:
229:
210:
146:
123:
59:
3504:
3466:
3437:
2366:
1364:
AFIPS '68: Proceedings of the December 9–11, 1968, Fall Joint Computer Conference
1146:
864:
809:
421:
417:
39:
2962:
3590:
3514:
3476:
3348:
2231:
2003:
1473:
Proceedings of 1974 ACM-SIGMOD Workshop on Data Description, Access and Control
245:
221:
86:
2654:
2467:
1498:
1389:
3612:
3499:
3456:
3295:
3249:
3044:
3040:
3032:
3020:
2725:
2397:
1121:
1116:
1059:
891:
857:
615:
326:
205:
initially described an interface only for end-user-facing programs, known as
2563:
1371:
272:
Although the people who coined the term API were implementing software on a
268:
3383:
2939:
2935:"Google asks Supreme Court to overrule disastrous ruling on API copyrights"
2708:
2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010)
1575:
Architectural Styles and the Design of Network-based Software Architectures
1512:
1327:
967:
805:
710:
The design of an API has significant impact on its usage. The principle of
687:
679:
606:
Therefore, remote APIs are useful in maintaining the object abstraction in
484:
413:
391:
Architectural Styles and the Design of Network-based Software Architectures
386:
344:
262:
170:
166:
2175:
1480:
102:
that portion of the API. The calls that make up the API are also known as
3509:
3491:
3274:
3264:
3254:
1049:
963:
899:
779:
771:
659:
611:
568:
557:
1656:"The design and implementation of a language for extending applications"
424:, distributed data interface rather than a software behavior interface.
2757:
2501:"Akamai: Cybercriminals are attacking APIs at financial services firms"
1402:
1054:
775:
603:
of functions that operate remotely, but appear local to the developer.
237:
174:
103:
2257:"Private, Partner or Public: Which API Strategy Is Best for Business?"
3446:
3353:
3279:
3244:
2283:"Car Service APIs Are Everywhere, But What's In It For Partner Apps?"
1973:
1704:
971:
767:
553:
394:
133:, which allow communication between computers that are joined by the
3081:
3076:
Forrester : IT industry : API Case : Google v. Oracle
2328:"Car Service APIs Are Everywhere, But What's In It For Partner Apps"
2054:
1013:
cross-platform API for general-purpose computing for CPUs & GPUs
587:
Remote APIs allow developers to manipulate remote resources through
114:
these calls, meaning that it explains how to use or implement them.
3575:
3052:
1838:"Open source standardization: the rise of Linux in the network era"
1730:
1126:
923:
916:
592:
537:
465:
368:
312:
134:
90:
67:
55:
2645:
2458:
646:, an API is typically defined as a set of specifications, such as
3570:
3269:
1157:
1136:
985:
976:
934:, the oral hearings in the case were delayed until October 2020.
863:
API documentation can be enriched with metadata information like
787:
663:
630:
550:
are examples of operating systems that implement the POSIX APIs.
506:
interface generator, facilitate the creation of such interfaces.
499:
483:, such as Java, would provide a specification of classes and its
355:
301:
130:
2157:"On the Criteria To Be Used in Decomposing Systems into Modules"
1298:
747:: Only specific business partners can use the API. For example,
528:
An API can specify the interface between an application and the
3078:– May 20, 2021 – content format: Audio with text – length 26:41
3048:
1918:
1649:
1624:
Odersky, Martin; Spoon, Lex; Venners, Bill (10 December 2008).
1022:
1016:
1010:
1004:
867:. This metadata can be used by the compiler, tools, and by the
383:
competed to become the most common way to expose API services.
329:
Approaches: Comparison of the Application Programming Interface
2828:"Oracle Am., Inc. v. Google Inc., No. 13-1021, Fed. Cir. 2014"
2300:
915:, though the question of whether such use of APIs constitutes
871:
environment to implement custom behaviors or custom handling.
258:
The Preparation of Programs for an Electronic Digital Computer
3519:
2881:"Google beats Oracle – Android makes "fair use" of Java APIs"
1360:"Data structures and techniques for remote computer graphics"
1167:
937:
The case was decided by the Supreme Court in Google's favor.
878:
572:
543:
533:
372:
367:
language in particular. In the 1990s, with the spread of the
296:
233:
2857:"Court sides with Oracle over Android in Java patent appeal"
2630:
2907:"Oracle Wins Revival of Billion-Dollar Case Against Google"
2527:
Institute for Software Research, School of Computer Science
957:
766:: The API is available for use by the public. For example,
756:
752:
667:
666:) has been moving away from Simple Object Access Protocol (
655:
495:
420:
in 2001 included "semantic APIs" that recast the API as an
406:
2206:
Advances in Software Engineering and Knowledge Engineering
2057:"Services Mashups: The New Generation of Web Applications"
567:(ABI) in that an API is source code based while an ABI is
3009:"Objects of Intense Feeling: The Case of the Twitter API"
2444:
Mendez, Diego; Baudry, Benoit; Monperrus, Martin (2013).
2055:
Benslimane, Djamal; Schahram Dustdar; Amit Sheth (2008).
714:
describes the role of programming interfaces as enabling
651:
402:
911:
Alsup's ruling was overturned in 2014 on appeal to the
350:
The idea of the API was expanded again with the dawn of
74:. A computer system that meets this standard is said to
1751:
468:, Scala developers can take advantage of any Java API.
2604:"Patterns of Knowledge in API Reference Documentation"
818:
A public API can sometimes declare parts of itself as
2779:"APIs Can't be Copyrighted Says Judge in Oracle Case"
2443:
1940:"API Protocol Compliance in Object-Oriented Software"
1540:
1538:
1358:
Cotton, Ira W.; Greatorex, Frank S. (December 1968).
1353:
1351:
284:
The term "application program interface" (without an
37:"Api.php" redirects here. For the Knowledge API, see
2705:
2358:
An Empirical Study on Evolution of API Documentation
2355:
Shi, Lin; Zhong, Hao; Xie, Tao; Li, Mingshu (2011).
1617:
2624:
2602:Maalej, Waleed; Robillard, Martin P. (April 2012).
2411:
2350:
2348:
1623:
723:, the organization of a complex piece of software.
1995:
1545:Jin, Brenda; Sahni, Saurabh; Shevat, Amir (2018).
1535:
1403:
1348:
599:API uses the Java Remote Method Protocol to allow
2758:"Oracle and the End of Programming As We Know It"
2595:
1660:TeCGraf Grupo de Tecnologia Em Computacao Grafica
3610:
2854:
2437:
2345:
261:contains the first published API specification.
2601:
2232:"Business Ecosystem: Creating an Economic Moat"
1599:International Journal of Information Management
1357:
1283:Database architectures – a feasibility workshop
540:for another POSIX conformant operating system.
2543:
2518:
1993:
1544:
308:if the computer or the display were replaced.
3097:
2898:
2524:
2354:
2319:
1987:
1829:
1808:. O'Reilly & Associates, Inc. p. 1.
2550:Parnin, Chris; Treude, Cristoph (May 2011).
2549:
2190:
782:, so that software can be written for their
734:The main policies for releasing an API are:
686:(ROA). Part of this trend is related to the
288:suffix) is first recorded in a paper called
3051:– rather than cooking instruction, this is
2926:
2492:
1835:
1322:
1320:
1318:
1316:
741:: The API is for internal company use only.
441:
3104:
3090:
3039:, pp. 3–7 – "For each task, there is
2293:
2199:"An Introduction to Software Architecture"
2197:Garlan, David; Shaw, Mary (January 1994).
2196:
2087:"So What Is an Enterprise Mashup, Anyway?"
1727:"Standards, APIs, Interfaces and Bindings"
1213:
1211:
1076:Comparison of application virtual machines
879:Dispute over copyright protection for APIs
795:
595:with the same set of functions, while the
290:Data structures and techniques for remote
2715:
2644:
2611:IEEE Transactions on Software Engineering
2534:
2498:
2457:
2280:
2229:
1931:
1909:
1869:
1795:
1667:
1467:Date, C. J.; Codd, E. F. (January 1975).
1277:
1275:
1248:
1246:
1244:
1070:Common Object Request Broker Architecture
429:API has overlap in meaning with the term
2552:"Measuring API Documentation on the Web"
2148:
2084:
1960:
1937:
1789:"Object-Oriented Application Frameworks"
1691:
1571:
1466:
1313:
1029:Server Application Programming Interface
913:Court of Appeals for the Federal Circuit
311:The term was introduced to the field of
267:
188:
181:operations occurring behind the scenes.
66:, offering a service to other pieces of
27:Connection between computers or programs
2960:
2107:"The Evolution of the Social Media API"
2061:IEEE Internet Computing, vol. 12, no. 5
1994:Henning, Michi; Vinoski, Steve (1999).
1596:
1333:A Brief, Opinionated History of the API
1208:
129:The term API is often used to refer to
14:
3611:
2904:
2248:
2154:
2098:
1966:
1874:. Microsoft. p. 4. Archived from
1801:
1697:
1521:. Van Nostrand Reinhold. p. 294.
1272:
1252:
1241:
694:(RDF), a concept to promote web-based
184:
3111:
3085:
2800:"Oracle America, Inc. vs. Google Inc"
1718:
1326:
1187:
2499:Takanashi, Dean (19 February 2020).
2325:
2254:
2104:
1967:Wilson, M. Jeff (10 November 2000).
1511:
1436:
1424:participating institution membership
1336:(Speech). QCon. San Francisco: InfoQ
1217:
523:
276:, the goal of their API was to make
2963:"Google LLC v. Oracle America, Inc"
2932:
2230:de Ternay, Guerric (Oct 10, 2015).
1998:Advanced CORBA Programming with C++
1947:CMU Institute for Software Research
1836:West, Joel; Dedrick, Jason (2001).
1700:"Just what is the Java API anyway?"
726:
24:
3619:Application programming interfaces
3000:
2417:
1845:Knowledge, Technology & Policy
1771:
1132:Open Service Interface Definitions
947:Application programming interfaces
928:Supreme Court of the United States
885:Google LLC v. Oracle America, Inc.
25:
3635:
3069:
3007:Taina Bucher (16 November 2013).
2967:LII / Legal Information Institute
2933:Lee, Timothy (January 25, 2019).
2301:"Cloudflare API v4 Documentation"
2281:Weissbrot, Alison (7 July 2016).
1938:Bierhoff, Kevin (23 April 2009).
1786:
1724:
654:) or JavaScript Object Notation (
48:application programming interface
18:Application Programming Interface
3208:Object-oriented operating system
2905:Decker, Susan (March 27, 2018).
2855:Rosenblatt, Seth (May 9, 2014).
2420:"How and When to Deprecate APIs"
1969:"Get smart with proxies and RMI"
1892:. Linux Foundation. 21 June 2012
1654:; Filho, Waldemar Celes (1994).
1301:. NBS special publication 500-76
1220:"Intro to APIs: History of APIs"
835:
509:An API can also be related to a
2979:
2954:
2873:
2848:
2820:
2792:
2771:
2750:
2699:
2669:
2390:
2274:
2223:
2124:
2078:
2048:
2027:
1903:
1882:
1863:
1780:
1765:
1744:
1643:
1611:10.1016/j.ijinfomgt.2009.12.003
1590:
1565:
1505:
1405:"application program interface"
1194:. Elsevier Science. p. 1.
676:representational state transfer
399:Representational state transfer
240:in this library were stored on
3218:Supercomputer operating system
2633:Empirical Software Engineering
2326:Liew, Zell (17 January 2018).
2085:Niccolai, James (2008-04-23),
1910:Stoughton, Nick (April 2005).
1650:de Figueiredo, Luiz Henrique;
1460:
1430:
1396:
1218:Lane, Kin (October 10, 2019).
1181:
692:Resource Description Framework
684:resource-oriented architecture
662:, the recent trend (so-called
582:
548:Berkeley Software Distribution
331:. An API became a part of the
13:
1:
3055:instruction) to be carry out"
1698:Sintes, Tony (13 July 2001).
1174:
672:service-oriented architecture
597:Java remote method invocation
3193:Just enough operating system
3178:Distributed operating system
3059:Maury, Innovation and Change
2367:10.1007/978-3-642-19811-3_29
642:When used in the context of
565:application binary interface
7:
3306:User space and kernel space
1471:. In Randall Rustin (ed.).
1042:
1019:cross-platform graphics API
940:
648:Hypertext Transfer Protocol
624:
608:object-oriented programming
337:database management systems
173:might give the developer a
62:. It is a type of software
10:
3640:
3213:Real-time operating system
2840:: CS1 maint: url-status (
1870:Microsoft (October 2001).
1802:Lewine, Donald A. (1991).
1626:"Combining Scala and Java"
1107:Interface control document
1092:Foreign function interface
944:
882:
674:(SOA) towards more direct
628:
255:Wilkes and Wheeler's book
156:
137:. There are also APIs for
117:One purpose of APIs is to
54:) is a connection between
36:
29:
3548:
3485:
3431:
3409:Multilevel feedback queue
3404:Fixed-priority preemptive
3392:
3327:
3318:
3288:
3235:
3226:
3188:Hobbyist operating system
3183:Embedded operating system
3165:
3119:
2655:10.1007/s10664-011-9186-4
2468:10.1109/SCAM.2013.6648183
2255:Boyd, Mark (2014-02-21).
2164:Communications of the ACM
2105:Parr, Ben (21 May 2009).
1729:. Acm.org. Archived from
1518:Analyzing Novell Networks
1411:Oxford English Dictionary
1255:"Measuring API Usability"
898:case that APIs cannot be
705:
670:) based web services and
236:, an early computer. The
119:hide the internal details
3452:General protection fault
3203:Network operating system
3157:User features comparison
3047:' (instruction – like a
2726:10.1109/msr.2010.5463347
1872:"Support for Windows XP"
1805:POSIX Programmer's Guide
1152:Software development kit
1112:List of 3D graphics APIs
1035:Simple DirectMedia Layer
1007:cross-platform sound API
614:, executed locally on a
575:provides APIs while the
520:or a similar mechanism.
481:object-oriented language
442:Libraries and frameworks
436:
106:, methods, requests, or
3624:Technical communication
3198:Mobile operating system
2564:10.1145/1984701.1984706
1416:Oxford University Press
1372:10.1145/1476589.1476661
1291:2027/mdp.39015077587742
1253:Clarke, Steven (2004).
796:Public API implications
637:Service Level Agreement
563:An API differs from an
319:in a 1974 paper called
110:. An API specification
3301:Loadable kernel module
3031:– in the U.S. Supreme
2961:vkimber (2020-09-28).
2912:Bloomberg Businessweek
1774:"Inversion Of Control"
1652:Ierusalimschy, Roberto
1572:Fielding, Roy (2000).
1188:Reddy, Martin (2011).
1087:Double-chance function
909:
464:compile to compatible
431:communication protocol
352:remote procedure calls
281:
198:
3369:Process control block
3335:Computer multitasking
3173:Disk operating system
3037:Google v. Oracle 2021
3013:Computational Culture
2781:. TGDaily. 2012-06-01
2760:. DrDobbs. 2012-05-01
2424:Java SE Documentation
2176:10.1145/361598.361623
2155:Parnas, D.L. (1972).
2136:developer.twitter.com
1912:"Update on Standards"
1481:10.1145/800297.811532
1102:Interface (computing)
1081:Document Object Model
919:was left unresolved.
904:
721:software architecture
571:based. For instance,
306:hardware independence
271:
192:
139:programming languages
3540:Virtual tape library
3132:Forensic engineering
2710:. pp. 141–150.
696:ontology engineering
518:inversion of control
333:ANSI/SPARC framework
278:hardware independent
228:worked on a modular
207:application programs
195:application programs
126:among many systems.
32:API (disambiguation)
30:For other uses, see
3549:Supporting concepts
3535:Virtual file system
1414:(Online ed.).
1097:Front and back ends
716:modular programming
577:Linux Standard Base
473:procedural language
446:The interface to a
215:hardware interfaces
185:History of the term
95:computer programmer
3472:Segmentation fault
3320:Process management
2452:. pp. 43–52.
2307:. 25 February 2020
2132:"GET trends/place"
1890:"LSB Introduction"
1551:. O'Reilly Media.
1548:Designing Web APIs
1330:(August 8, 2018).
1191:API Design for C++
1163:Web content vendor
1065:Calling convention
960:device interfacing
751:companies such as
712:information hiding
511:software framework
282:
280:programs possible.
242:punched paper tape
199:
143:software libraries
3606:
3605:
3462:Memory protection
3433:Memory management
3427:
3426:
3419:Shortest job next
3314:
3313:
3113:Operating systems
2735:978-1-4244-6802-7
2477:978-1-4673-5739-5
2376:978-3-642-19810-6
2332:Smashing Magazine
2170:(12): 1053–1058.
1422:(Subscription or
1000:Microsoft Windows
981:Microsoft Windows
932:COVID-19 pandemic
778:releases its API
579:provides an ABI.
524:Operating systems
491:Language bindings
397:in 2000 outlined
371:, standards like
360:computer networks
292:computer graphics
250:API documentation
232:in the 1940s for
151:computer hardware
147:operating systems
85:In contrast to a
72:API specification
60:computer programs
16:(Redirected from
3631:
3561:Computer network
3325:
3324:
3233:
3232:
3106:
3099:
3092:
3083:
3082:
3024:
2994:
2993:
2992:. April 5, 2021.
2991:
2983:
2977:
2976:
2974:
2973:
2958:
2952:
2951:
2949:
2947:
2930:
2924:
2923:
2921:
2919:
2902:
2896:
2895:
2893:
2892:
2877:
2871:
2870:
2868:
2867:
2852:
2846:
2845:
2839:
2831:
2824:
2818:
2817:
2815:
2814:
2804:
2796:
2790:
2789:
2787:
2786:
2775:
2769:
2768:
2766:
2765:
2754:
2748:
2747:
2719:
2703:
2697:
2695:
2693:
2692:
2683:. Archived from
2681:Sun Microsystems
2673:
2667:
2666:
2648:
2628:
2622:
2621:
2619:
2617:
2608:
2599:
2593:
2592:
2590:
2588:
2547:
2541:
2540:
2538:
2522:
2516:
2515:
2513:
2511:
2496:
2490:
2489:
2461:
2441:
2435:
2434:
2432:
2430:
2415:
2409:
2408:
2406:
2405:
2394:
2388:
2387:
2385:
2383:
2352:
2343:
2342:
2340:
2338:
2323:
2317:
2316:
2314:
2312:
2297:
2291:
2290:
2278:
2272:
2271:
2269:
2267:
2252:
2246:
2245:
2243:
2242:
2227:
2221:
2220:
2218:
2216:
2203:
2194:
2188:
2187:
2161:
2152:
2146:
2145:
2143:
2142:
2128:
2122:
2121:
2119:
2117:
2102:
2096:
2095:
2082:
2076:
2075:
2073:
2072:
2052:
2046:
2045:
2039:
2031:
2025:
2024:
2022:
2020:
2001:
1991:
1985:
1984:
1982:
1981:
1964:
1958:
1957:
1955:
1953:
1944:
1935:
1929:
1928:
1926:
1925:
1916:
1907:
1901:
1900:
1898:
1897:
1886:
1880:
1879:
1867:
1861:
1860:
1858:
1856:
1842:
1833:
1827:
1826:
1824:
1822:
1799:
1793:
1792:
1787:Fayad, Mohamed.
1784:
1778:
1777:
1772:Fowler, Martin.
1769:
1763:
1762:
1760:
1759:
1748:
1742:
1741:
1739:
1738:
1722:
1716:
1715:
1713:
1712:
1695:
1689:
1688:
1686:
1684:
1671:
1647:
1641:
1640:
1638:
1636:
1621:
1615:
1614:
1594:
1588:
1587:
1585:
1583:
1569:
1563:
1562:
1542:
1533:
1532:
1509:
1503:
1502:
1464:
1458:
1457:
1434:
1428:
1427:
1419:
1407:
1400:
1394:
1393:
1355:
1346:
1345:
1343:
1341:
1324:
1311:
1310:
1308:
1306:
1279:
1270:
1269:
1267:
1265:
1250:
1239:
1238:
1232:
1230:
1215:
1206:
1205:
1185:
896:Oracle v. Google
865:Java annotations
814:
749:vehicle for hire
727:Release policies
690:movement toward
530:operating system
448:software library
389:'s dissertation
295:presented at an
230:software library
211:utility software
124:interoperability
42:
21:
3639:
3638:
3634:
3633:
3632:
3630:
3629:
3628:
3609:
3608:
3607:
3602:
3544:
3505:Defragmentation
3490:
3481:
3467:Protection ring
3436:
3423:
3395:
3388:
3310:
3284:
3222:
3161:
3115:
3110:
3072:
3029:What is an API?
3006:
3003:
3001:Further reading
2998:
2997:
2989:
2985:
2984:
2980:
2971:
2969:
2959:
2955:
2945:
2943:
2931:
2927:
2917:
2915:
2903:
2899:
2890:
2888:
2879:
2878:
2874:
2865:
2863:
2853:
2849:
2833:
2832:
2826:
2825:
2821:
2812:
2810:
2802:
2798:
2797:
2793:
2784:
2782:
2777:
2776:
2772:
2763:
2761:
2756:
2755:
2751:
2736:
2704:
2700:
2690:
2688:
2675:
2674:
2670:
2629:
2625:
2615:
2613:
2606:
2600:
2596:
2586:
2584:
2574:
2548:
2544:
2536:10.1.1.446.4214
2523:
2519:
2509:
2507:
2497:
2493:
2478:
2442:
2438:
2428:
2426:
2416:
2412:
2403:
2401:
2396:
2395:
2391:
2381:
2379:
2377:
2353:
2346:
2336:
2334:
2324:
2320:
2310:
2308:
2299:
2298:
2294:
2279:
2275:
2265:
2263:
2261:ProgrammableWeb
2253:
2249:
2240:
2238:
2228:
2224:
2214:
2212:
2201:
2195:
2191:
2159:
2153:
2149:
2140:
2138:
2130:
2129:
2125:
2115:
2113:
2103:
2099:
2083:
2079:
2070:
2068:
2053:
2049:
2042:www.hcltech.com
2037:
2033:
2032:
2028:
2018:
2016:
2014:
1992:
1988:
1979:
1977:
1965:
1961:
1951:
1949:
1942:
1936:
1932:
1923:
1921:
1914:
1908:
1904:
1895:
1893:
1888:
1887:
1883:
1868:
1864:
1854:
1852:
1840:
1834:
1830:
1820:
1818:
1816:
1800:
1796:
1785:
1781:
1770:
1766:
1757:
1755:
1750:
1749:
1745:
1736:
1734:
1723:
1719:
1710:
1708:
1696:
1692:
1682:
1680:
1648:
1644:
1634:
1632:
1622:
1618:
1595:
1591:
1581:
1579:
1570:
1566:
1559:
1543:
1536:
1529:
1510:
1506:
1491:
1465:
1461:
1454:
1446:. p. 135.
1435:
1431:
1421:
1401:
1397:
1382:
1356:
1349:
1339:
1337:
1325:
1314:
1304:
1302:
1281:
1280:
1273:
1263:
1261:
1251:
1242:
1228:
1226:
1216:
1209:
1202:
1186:
1182:
1177:
1172:
1147:RAML (software)
1045:
1040:
949:
945:Main category:
943:
887:
881:
838:
812:
810:Java annotation
798:
729:
708:
644:web development
633:
627:
585:
526:
444:
439:
418:Tim Berners-Lee
244:organized in a
187:
159:
93:) other than a
44:
40:Special:ApiHelp
38:
35:
28:
23:
22:
15:
12:
11:
5:
3637:
3627:
3626:
3621:
3604:
3603:
3601:
3600:
3595:
3594:
3593:
3591:User interface
3588:
3578:
3573:
3568:
3563:
3558:
3552:
3550:
3546:
3545:
3543:
3542:
3537:
3532:
3527:
3522:
3517:
3515:File attribute
3512:
3507:
3502:
3496:
3494:
3483:
3482:
3480:
3479:
3477:Virtual memory
3474:
3469:
3464:
3459:
3454:
3449:
3443:
3441:
3429:
3428:
3425:
3424:
3422:
3421:
3416:
3411:
3406:
3400:
3398:
3390:
3389:
3387:
3386:
3381:
3376:
3371:
3366:
3361:
3356:
3351:
3349:Context switch
3346:
3331:
3329:
3322:
3316:
3315:
3312:
3311:
3309:
3308:
3303:
3298:
3292:
3290:
3286:
3285:
3283:
3282:
3277:
3272:
3267:
3262:
3257:
3252:
3247:
3241:
3239:
3230:
3224:
3223:
3221:
3220:
3215:
3210:
3205:
3200:
3195:
3190:
3185:
3180:
3175:
3169:
3167:
3163:
3162:
3160:
3159:
3154:
3149:
3144:
3139:
3134:
3129:
3123:
3121:
3117:
3116:
3109:
3108:
3101:
3094:
3086:
3080:
3079:
3071:
3070:External links
3068:
3067:
3066:
3056:
3026:
3002:
2999:
2996:
2995:
2978:
2953:
2925:
2897:
2872:
2847:
2819:
2791:
2770:
2749:
2734:
2698:
2668:
2639:(6): 703–737.
2623:
2594:
2572:
2542:
2517:
2491:
2476:
2436:
2410:
2389:
2375:
2344:
2318:
2292:
2273:
2247:
2236:BoostCompanies
2222:
2189:
2147:
2123:
2097:
2077:
2047:
2044:. August 2014.
2038:(PDF download)
2035:"API-fication"
2026:
2013:978-0201379273
2012:
2004:Addison-Wesley
1986:
1959:
1930:
1902:
1881:
1878:on 2009-09-26.
1862:
1828:
1814:
1794:
1779:
1764:
1743:
1725:Emery, David.
1717:
1690:
1669:10.1.1.47.5194
1642:
1630:www.artima.com
1616:
1605:(4): 335–342.
1589:
1564:
1557:
1534:
1528:978-0442003647
1527:
1504:
1490:978-1450374187
1489:
1459:
1453:978-1684705276
1452:
1429:
1395:
1381:978-1450378994
1380:
1347:
1312:
1271:
1240:
1207:
1200:
1179:
1178:
1176:
1173:
1171:
1170:
1165:
1160:
1155:
1149:
1144:
1139:
1134:
1129:
1124:
1119:
1114:
1109:
1104:
1099:
1094:
1089:
1084:
1078:
1073:
1067:
1062:
1057:
1052:
1046:
1044:
1041:
1039:
1038:
1032:
1026:
1020:
1014:
1008:
1002:
993:
988:
983:
974:
961:
950:
942:
939:
883:Main article:
880:
877:
837:
834:
797:
794:
793:
792:
761:
742:
728:
725:
707:
704:
629:Main article:
626:
623:
584:
581:
525:
522:
443:
440:
438:
435:
246:filing cabinet
222:Maurice Wilkes
186:
183:
158:
155:
87:user interface
26:
9:
6:
4:
3:
2:
3636:
3625:
3622:
3620:
3617:
3616:
3614:
3599:
3596:
3592:
3589:
3587:
3584:
3583:
3582:
3579:
3577:
3574:
3572:
3569:
3567:
3564:
3562:
3559:
3557:
3554:
3553:
3551:
3547:
3541:
3538:
3536:
3533:
3531:
3528:
3526:
3523:
3521:
3518:
3516:
3513:
3511:
3508:
3506:
3503:
3501:
3498:
3497:
3495:
3493:
3488:
3484:
3478:
3475:
3473:
3470:
3468:
3465:
3463:
3460:
3458:
3457:Memory paging
3455:
3453:
3450:
3448:
3445:
3444:
3442:
3439:
3434:
3430:
3420:
3417:
3415:
3412:
3410:
3407:
3405:
3402:
3401:
3399:
3397:
3391:
3385:
3382:
3380:
3377:
3375:
3372:
3370:
3367:
3365:
3362:
3360:
3357:
3355:
3352:
3350:
3347:
3344:
3340:
3336:
3333:
3332:
3330:
3326:
3323:
3321:
3317:
3307:
3304:
3302:
3299:
3297:
3296:Device driver
3294:
3293:
3291:
3287:
3281:
3278:
3276:
3273:
3271:
3268:
3266:
3263:
3261:
3258:
3256:
3253:
3251:
3248:
3246:
3243:
3242:
3240:
3238:
3237:Architectures
3234:
3231:
3229:
3225:
3219:
3216:
3214:
3211:
3209:
3206:
3204:
3201:
3199:
3196:
3194:
3191:
3189:
3186:
3184:
3181:
3179:
3176:
3174:
3171:
3170:
3168:
3164:
3158:
3155:
3153:
3150:
3148:
3145:
3143:
3140:
3138:
3135:
3133:
3130:
3128:
3125:
3124:
3122:
3118:
3114:
3107:
3102:
3100:
3095:
3093:
3088:
3087:
3084:
3077:
3074:
3073:
3064:
3060:
3057:
3054:
3050:
3046:
3045:computer code
3042:
3041:computer code
3038:
3034:
3033:Court opinion
3030:
3027:
3022:
3018:
3014:
3010:
3005:
3004:
2988:
2982:
2968:
2964:
2957:
2942:
2941:
2936:
2929:
2914:
2913:
2908:
2901:
2886:
2882:
2876:
2862:
2858:
2851:
2843:
2837:
2829:
2823:
2808:
2801:
2795:
2780:
2774:
2759:
2753:
2745:
2741:
2737:
2731:
2727:
2723:
2718:
2717:10.1.1.434.15
2713:
2709:
2702:
2687:on 2011-09-25
2686:
2682:
2678:
2677:"Annotations"
2672:
2664:
2660:
2656:
2652:
2647:
2642:
2638:
2634:
2627:
2612:
2605:
2598:
2583:
2579:
2575:
2573:9781450305952
2569:
2565:
2561:
2557:
2553:
2546:
2537:
2532:
2528:
2521:
2506:
2502:
2495:
2487:
2483:
2479:
2473:
2469:
2465:
2460:
2455:
2451:
2447:
2440:
2425:
2421:
2414:
2399:
2393:
2378:
2372:
2368:
2364:
2360:
2359:
2351:
2349:
2333:
2329:
2322:
2306:
2302:
2296:
2288:
2284:
2277:
2262:
2258:
2251:
2237:
2233:
2226:
2211:
2207:
2200:
2193:
2185:
2181:
2177:
2173:
2169:
2165:
2158:
2151:
2137:
2133:
2127:
2112:
2108:
2101:
2094:
2093:
2088:
2081:
2067:on 2011-09-28
2066:
2062:
2058:
2051:
2043:
2036:
2030:
2015:
2009:
2005:
2000:
1999:
1990:
1976:
1975:
1970:
1963:
1948:
1941:
1934:
1920:
1913:
1906:
1891:
1885:
1877:
1873:
1866:
1850:
1846:
1839:
1832:
1817:
1815:9780937175736
1811:
1807:
1806:
1798:
1790:
1783:
1775:
1768:
1753:
1747:
1733:on 2015-01-16
1732:
1728:
1721:
1707:
1706:
1701:
1694:
1679:
1675:
1670:
1665:
1661:
1657:
1653:
1646:
1631:
1627:
1620:
1612:
1608:
1604:
1600:
1593:
1582:September 18,
1577:
1576:
1568:
1560:
1558:9781492026877
1554:
1550:
1549:
1541:
1539:
1530:
1524:
1520:
1519:
1514:
1513:Carl, Malamud
1508:
1500:
1496:
1492:
1486:
1482:
1478:
1474:
1470:
1463:
1455:
1449:
1445:
1444:
1439:
1433:
1425:
1417:
1413:
1412:
1406:
1399:
1391:
1387:
1383:
1377:
1373:
1369:
1365:
1361:
1354:
1352:
1340:September 18,
1335:
1334:
1329:
1328:Bloch, Joshua
1323:
1321:
1319:
1317:
1305:September 18,
1300:
1296:
1292:
1288:
1284:
1278:
1276:
1260:
1256:
1249:
1247:
1245:
1237:
1229:September 18,
1225:
1221:
1214:
1212:
1203:
1201:9780123850041
1197:
1193:
1192:
1184:
1180:
1169:
1166:
1164:
1161:
1159:
1156:
1153:
1150:
1148:
1145:
1143:
1140:
1138:
1135:
1133:
1130:
1128:
1125:
1123:
1122:Name mangling
1120:
1118:
1117:Microservices
1115:
1113:
1110:
1108:
1105:
1103:
1100:
1098:
1095:
1093:
1090:
1088:
1085:
1082:
1079:
1077:
1074:
1071:
1068:
1066:
1063:
1061:
1060:Augmented web
1058:
1056:
1053:
1051:
1048:
1047:
1036:
1033:
1030:
1027:
1024:
1021:
1018:
1015:
1012:
1009:
1006:
1003:
1001:
997:
994:
992:
989:
987:
984:
982:
978:
975:
973:
969:
965:
962:
959:
955:
952:
951:
948:
938:
935:
933:
929:
925:
920:
918:
914:
908:
903:
901:
897:
894:ruled in the
893:
892:William Alsup
886:
876:
872:
870:
866:
861:
859:
853:
849:
845:
841:
836:Documentation
833:
830:
824:
821:
816:
811:
807:
802:
789:
785:
781:
777:
773:
769:
765:
762:
758:
754:
750:
746:
743:
740:
737:
736:
735:
732:
724:
722:
717:
713:
703:
701:
697:
693:
689:
685:
681:
680:web resources
678:(REST) style
677:
673:
669:
665:
661:
657:
653:
649:
645:
640:
638:
632:
622:
619:
617:
613:
609:
604:
602:
598:
594:
590:
580:
578:
574:
570:
566:
561:
559:
555:
551:
549:
545:
541:
539:
535:
531:
521:
519:
514:
512:
507:
505:
501:
497:
492:
488:
486:
485:class methods
482:
478:
474:
469:
467:
463:
459:
454:
451:
449:
434:
432:
427:
423:
419:
415:
410:
408:
404:
400:
396:
392:
388:
384:
382:
378:
374:
370:
366:
361:
357:
353:
348:
346:
340:
338:
334:
330:
328:
324:
318:
314:
309:
307:
303:
298:
294:
293:
287:
279:
275:
270:
266:
264:
260:
259:
253:
251:
247:
243:
239:
235:
231:
227:
226:David Wheeler
223:
218:
216:
212:
208:
204:
196:
191:
182:
180:
176:
172:
168:
164:
154:
152:
148:
144:
140:
136:
132:
127:
125:
120:
115:
113:
109:
105:
101:
96:
92:
88:
83:
81:
77:
73:
69:
65:
61:
57:
53:
49:
41:
33:
19:
3555:
3492:file systems
3384:Time-sharing
3012:
2981:
2970:. Retrieved
2966:
2956:
2944:. Retrieved
2940:Ars Technica
2938:
2928:
2916:. Retrieved
2910:
2900:
2889:. Retrieved
2887:. 2016-05-26
2885:Ars Technica
2884:
2875:
2864:. Retrieved
2860:
2850:
2822:
2811:. Retrieved
2809:. 2012-05-31
2794:
2783:. Retrieved
2773:
2762:. Retrieved
2752:
2707:
2701:
2689:. Retrieved
2685:the original
2671:
2636:
2632:
2626:
2614:. Retrieved
2610:
2597:
2585:. Retrieved
2555:
2545:
2526:
2520:
2508:. Retrieved
2505:Venture Beat
2504:
2494:
2449:
2439:
2427:. Retrieved
2423:
2413:
2402:. Retrieved
2400:. 2014-02-04
2392:
2380:. Retrieved
2357:
2335:. Retrieved
2331:
2321:
2309:. Retrieved
2304:
2295:
2286:
2276:
2264:. Retrieved
2260:
2250:
2239:. Retrieved
2235:
2225:
2213:. Retrieved
2209:
2205:
2192:
2167:
2163:
2150:
2139:. Retrieved
2135:
2126:
2114:. Retrieved
2110:
2100:
2090:
2080:
2069:. Retrieved
2065:the original
2060:
2050:
2041:
2029:
2017:. Retrieved
1997:
1989:
1978:. Retrieved
1972:
1962:
1950:. Retrieved
1946:
1933:
1922:. Retrieved
1905:
1894:. Retrieved
1884:
1876:the original
1865:
1853:. Retrieved
1848:
1844:
1831:
1819:. Retrieved
1804:
1797:
1782:
1767:
1756:. Retrieved
1746:
1735:. Retrieved
1731:the original
1720:
1709:. Retrieved
1703:
1693:
1681:. Retrieved
1659:
1645:
1633:. Retrieved
1629:
1619:
1602:
1598:
1592:
1580:. Retrieved
1574:
1567:
1547:
1517:
1507:
1472:
1462:
1442:
1432:
1409:
1398:
1363:
1338:. Retrieved
1332:
1303:. Retrieved
1262:. Retrieved
1258:
1234:
1227:. Retrieved
1223:
1190:
1183:
936:
921:
910:
905:
895:
888:
873:
868:
862:
854:
850:
846:
842:
839:
825:
819:
817:
806:Google Guava
803:
799:
791:validations.
774:public, and
763:
744:
738:
733:
730:
709:
688:Semantic Web
641:
634:
620:
605:
586:
562:
552:
542:
527:
515:
508:
498:and F2PY, a
489:
470:
455:
452:
445:
416:proposed by
414:Semantic Web
411:
390:
387:Roy Fielding
385:
349:
345:Carl Malamud
341:
320:
310:
289:
285:
283:
263:Joshua Bloch
256:
254:
219:
202:
200:
171:input/output
167:email client
160:
128:
116:
111:
99:
84:
79:
75:
71:
51:
47:
45:
3510:Device file
3500:Boot loader
3414:Round-robin
3339:Cooperative
3275:Rump kernel
3265:Multikernel
3255:Microkernel
3152:Usage share
2946:February 8,
2510:27 February
2337:27 February
2311:27 February
2287:AdExchanger
1851:(2): 88–112
1662:: 273–284.
1438:Date, C. J.
1050:API testing
900:copyrighted
858:thread safe
772:Windows API
660:web service
612:method call
583:Remote APIs
558:Windows API
426:Proprietary
274:Univac 1108
238:subroutines
179:file system
163:abstracting
145:, computer
104:subroutines
58:or between
3613:Categories
3440:protection
3396:algorithms
3394:Scheduling
3343:Preemptive
3289:Components
3260:Monolithic
3127:Comparison
2972:2021-03-06
2891:2016-07-28
2866:2014-05-10
2813:2013-09-22
2785:2012-12-06
2764:2012-05-09
2691:2011-09-30
2404:2014-02-11
2305:cloudflare
2241:2016-02-01
2141:2020-04-30
2071:2019-10-01
1980:2020-07-18
1924:2009-06-04
1896:2015-03-27
1758:2011-12-18
1754:. F2PY.org
1752:"F2PY.org"
1737:2016-08-08
1711:2020-07-18
1499:1175623233
1426:required.)
1390:1175621908
1259:Dr. Dobb's
1175:References
1055:API writer
820:deprecated
770:makes the
601:invocation
323:Relational
317:C. J. Date
3530:Partition
3447:Bus error
3374:Real-time
3354:Interrupt
3280:Unikernel
3245:Exokernel
3021:2047-2390
2918:March 27,
2712:CiteSeerX
2646:1205.6363
2558:: 25–30.
2531:CiteSeerX
2459:1307.4062
1974:JavaWorld
1705:JavaWorld
1664:CiteSeerX
991:Java APIs
972:Macintosh
907:commands.
784:platforms
768:Microsoft
593:databases
589:protocols
554:Microsoft
395:UC Irvine
313:databases
213:and even
201:The term
108:endpoints
76:implement
64:interface
56:computers
3576:Live USB
3438:resource
3328:Concepts
3166:Variants
3147:Timeline
2836:cite web
2582:17751901
2429:2 August
2418:Oracle.
2266:2 August
2215:8 August
2184:53856438
2111:Mashable
2092:PC World
1855:2 August
1821:2 August
1678:59833827
1515:(1990).
1440:(2019).
1299:81600004
1127:Open API
1043:See also
970:for the
941:Examples
924:fair use
917:fair use
869:run-time
625:Web APIs
538:compiled
475:such as
466:bytecode
369:internet
356:web APIs
175:function
135:internet
131:web APIs
91:end user
68:software
3571:Live CD
3525:Journal
3489:access,
3487:Storage
3364:Process
3270:vkernel
3137:History
3120:General
3063:Textise
3053:machine
2744:1026918
2663:8174618
2616:22 July
2587:22 July
2486:6890739
2382:22 July
2116:26 July
2019:16 June
1952:29 July
1683:29 July
1635:29 July
1264:29 July
1224:Postman
1158:Web API
1137:Parsing
1072:(CORBA)
986:EHLLAPI
977:DirectX
788:RESTful
760:stream.
745:Partner
739:Private
700:mashups
664:Web 2.0
631:Web API
500:Fortran
327:Network
302:Fortran
157:Purpose
112:defines
3379:Thread
3250:Hybrid
3228:Kernel
3049:recipe
3019:
2742:
2732:
2714:
2661:
2580:
2570:
2556:Web2SE
2533:
2484:
2474:
2373:
2182:
2010:
1919:USENIX
1812:
1676:
1666:
1555:
1525:
1497:
1487:
1450:
1388:
1378:
1297:
1198:
1142:Plugin
1031:(SAPI)
1023:OpenMP
1017:OpenGL
1011:OpenCL
1005:OpenAL
968:Carbon
829:Akamai
764:Public
706:Design
569:binary
504:Python
379:, and
197:alone.
149:, and
80:expose
3581:Shell
3520:Inode
3015:(3).
2990:(PDF)
2807:Wired
2803:(PDF)
2740:S2CID
2659:S2CID
2641:arXiv
2607:(PDF)
2578:S2CID
2482:S2CID
2454:arXiv
2202:(PDF)
2180:S2CID
2160:(PDF)
1943:(PDF)
1915:(PDF)
1841:(PDF)
1674:S2CID
1578:(PhD)
1420:
1168:XPCOM
1154:(SDK)
1083:(DOM)
1037:(SDL)
964:Cocoa
813:@Beta
780:Cocoa
776:Apple
616:proxy
573:POSIX
544:Linux
534:POSIX
458:Scala
437:Usage
373:CORBA
358:. As
297:AFIPS
234:EDSAC
3142:List
3065:URL)
3017:ISSN
2948:2019
2920:2018
2861:CNET
2842:link
2730:ISBN
2618:2016
2589:2016
2568:ISBN
2512:2020
2472:ISBN
2431:2016
2384:2016
2371:ISBN
2339:2020
2313:2020
2268:2016
2217:2016
2118:2016
2021:2015
2008:ISBN
1954:2016
1857:2016
1823:2016
1810:ISBN
1685:2016
1637:2016
1584:2020
1553:ISBN
1523:ISBN
1495:OCLC
1485:ISBN
1448:ISBN
1386:OCLC
1376:ISBN
1342:2020
1307:2020
1295:LCCN
1266:2016
1231:2020
1196:ISBN
998:for
996:ODBC
979:for
966:and
958:SCSI
956:for
954:ASPI
757:Lyft
755:and
753:Uber
682:and
668:SOAP
656:JSON
610:; a
546:and
502:-to-
496:SWIG
462:Java
460:and
422:open
412:The
407:JSON
405:and
381:DCOM
365:Java
354:and
335:for
325:and
321:The
286:-ing
224:and
100:call
3598:PXE
3586:CLI
3566:HAL
3556:API
3359:IPC
2722:doi
2651:doi
2560:doi
2464:doi
2363:doi
2172:doi
1607:doi
1477:doi
1368:doi
1287:hdl
652:XML
477:Lua
403:XML
393:at
377:COM
315:by
203:API
78:or
52:API
46:An
3615::
3341:,
3035:,
3011:.
2965:.
2937:.
2909:.
2883:.
2859:.
2838:}}
2834:{{
2805:.
2738:.
2728:.
2720:.
2679:.
2657:.
2649:.
2637:17
2635:.
2609:.
2576:.
2566:.
2554:.
2529:.
2503:.
2480:.
2470:.
2462:.
2448:.
2422:.
2369:.
2347:^
2330:.
2303:.
2285:.
2259:.
2234:.
2208:.
2204:.
2178:.
2168:15
2166:.
2162:.
2134:.
2109:.
2089:,
2059:.
2040:.
2006:.
2002:.
1971:.
1945:.
1917:.
1849:14
1847:.
1843:.
1702:.
1672:.
1658:.
1628:.
1603:30
1601:.
1537:^
1493:.
1483:.
1408:.
1384:.
1374:.
1362:.
1350:^
1315:^
1293:.
1274:^
1257:.
1243:^
1233:.
1222:.
1210:^
815:.
532:.
487:.
433:.
375:,
347:.
217:.
141:,
3435:,
3345:)
3337:(
3105:e
3098:t
3091:v
3023:.
2975:.
2950:.
2922:.
2894:.
2869:.
2844:)
2830:.
2816:.
2788:.
2767:.
2746:.
2724::
2696:.
2694:.
2665:.
2653::
2643::
2620:.
2591:.
2562::
2539:.
2514:.
2488:.
2466::
2456::
2433:.
2407:.
2386:.
2365::
2341:.
2315:.
2289:.
2270:.
2244:.
2219:.
2210:1
2186:.
2174::
2144:.
2120:.
2074:.
2023:.
1983:.
1956:.
1927:.
1899:.
1859:.
1825:.
1791:.
1776:.
1761:.
1740:.
1714:.
1687:.
1639:.
1613:.
1609::
1586:.
1561:.
1531:.
1501:.
1479::
1456:.
1418:.
1392:.
1370::
1344:.
1309:.
1289::
1268:.
1204:.
50:(
43:.
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.