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