Jump to content

Talk:API

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 80.38.67.99 (talk) at 09:06, 16 June 2008. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Headline text

Former featured articleAPI is a former featured article. Please see the links under Article milestones below for its original nomination page (for older articles, check the nomination archive) and why it was removed.
Article milestones
DateProcessResult
January 19, 2004Refreshing brilliant proseKept
March 6, 2005Featured article reviewDemoted
Current status: Former featured article

older entries

Sunit Pinto is working on API.

Wait a minute, SNMP isn't an API is it? It is a protocol. Don't know much about CORBA, but I wouldn't call DCOM an API. Robneild 15:53, 16 Feb 2004 (UTC)

The definition at the top of this document is too inclusive, with the result that protocols would be considered APIs. The common use of the term is for a collection of classes or functions. CORBA is many things (protocol, language mappings, type system...) and it happens to include an API as well - the ORB API. But most people would not call CORBA an API. At most, it is a language for expressing APIs. Yaronf 23:31, Feb 18, 2004 (UTC)


Your definition of API's is way too inclusive. The API is the programming language interface provided to users, in that programming language. This is different than protocols, which usually represent the "wire" format of the actual communication. This might be the may web interfaces, IIOP in CORBA, or the conventions used in a socket call. Representing these in XML and ontologies are the next evoloution of Protocols - but not of API's. I contend that API's are to be minimized as they create basically the next N squared problem in that to get them implemented in every language, you have a very uphill battle, let alone making changes. Protocols, on the other hand, can evolve and you let the languages find their way to create the protocol. The reference to ontologies would fit with the Protocols, but not with the API.s

"It is generally lawful to analyze API implementations in order to produce a compatible one" ummm. If the wine group looked at a Microsoft WIN32 implementation they would be in trouble. I thought they would steer clear of Microsoft's implementation. Guess it depends what is meant by analyze. I would have thought once you have a specification for the API that is all you need e.g. "int time = GetTime()". Robneild 14:44, 17 Oct 2004 (UTC)

API Category

I was thinking about creating Category:Application programming interface, creating a reposity for all the API's that exist in wikipedia, (DirectX, win32, opengl, etc)

Little bit of confusion...

This may sound stupid but what is the difference between an API and a library?

The API is only the interface.


Simply, an API is a contract to adhere to while a library is an implementation of that contract.

Framework,API,Library,Protocol

Dear All

       I think it is gona be a big miss understanding here, as a 

programmer in the first place and Systems Analyst, i can tell that we are talking about this Pyramid:

                 -----------Program-----------
              -------------Libraries-------------
          -------------------APIs-------------------
   -----------------------Framework-----------------------

Operating System Layer--->Protocols---> Operating System

the programmers usually make their own libraries using calls to APIs which usually be a part of a particular framework which must be based in a particular operatin system, and the operating system uses a protocol to manage the communication with another operating system.

as an example, if we are talking about :


The Program------------------------------

Programmer Made Library to manage what ever tasks---- .NET APIs (System.Windows, System.Windows.Form...etc)


.NET Framework-----------------------------


WINDOWS XP------------------------------

Best Regards Hossam Abbas


That pyramid is deceptive. It is possible (for example) for a single API to be spread across multiple libraries - or for one library to implement multiple API's. An API is a specification for an interface - typically between a program and a library - but possibly between two libraries - or between a 'plugin' and a program. An API is more like a piece of documentation than an actual library. A single API can apply to multiple implementations - and hence to multiple libraries. I can write an OpenGL application that links both to (say) nVidia's OpenGL implementation and the Mesa OpenGL implementation. Two implementations of the same API. The reason we need the concept of an API is precisely because the word library doesn't work.

SteveBaker 14:41, 2 February 2006 (UTC)[reply]


Too many links.

I don't think we need all of those links to Example APIs - we are getting dangerously close to link-spam. Also, the WP:MOS recommends only using external links for references (which ours are not) - or to cover things not adequately described in the article or other Wikipedia articles. Since we have a good list of internal links to example API's, I move to delete all of the external examples.

This article needs to get it's Featured Article status back again. SteveBaker 22:21, 31 March 2006 (UTC)[reply]

Application Programming Interface OR Application Program Interface

Just to check; technically is it an Application Programming Interface or is it an Application Program Interface? I know this is very picky, but an Encyclopedia should get it right. (please don't flame me). Thanks --Skoorb 17:26, 1 April 2006 (UTC)[reply]

I believe it is Application Program Interface since the interface remains between the application and the library long after the act of Programming has been completed. One might even (theoretically) define the API after all of the programming has been completed - for example when you decide that a part of an existing application could be split off and made into a library if only you wrote down a specification for the API. However, it's a small thing - and since this is one of those informal terms that has gradually taken hold, it's perfectly possible that some users take one meaning and others the reverse position. SteveBaker 17:34, 1 April 2006 (UTC)[reply]

I have seen API defined as an Abstract Programming Interface. ChopMonkey 15:08, 2 October 2006 (UTC)[reply]

Another term which is often used and makes IMHO most sense is 'Application Programmer Interface', as it is an interface for the developer to write a new application.

I agree with the comment above, 'Application Programmer's Interface' is also used often. 88.255.168.161 08:17, 26 June 2007 (UTC)[reply]

API redirects here

Edcolins Why would you restore this. API doesn't redirect to this page it goes to the disambiguation page. Try it. jbolden1517Talk 18:26, 5 May 2006 (UTC)[reply]

API should redirect to disambig not here. It's totally unfair to other disciplines to monopolize just because it's common in our field. --Treekids 19:25, 1 October 2007 (UTC)[reply]

Pronunciation

So how do most people pronounce API? A P I, or appie?

I—and every programmer I've worked with—pronounce it "A" and in "day", "P" as in "Pea in a pod", and "I" as in "I love you." HTH — Frecklefoot | Talk 14:30, 29 August 2006 (UTC)[reply]
"appie" is too easily confused with other words, many of them emotional. Programmers hate that ;-) --Treekids 19:31, 1 October 2007 (UTC)[reply]

Open versus closed

I would like to have a better description of when an API is "open" versus when it is "closed". The current definition focuses on rights of usage and access to source code, but I think the idea is broader than that. For example, I think an API is also "open" when it is clearly documented and able to be extended through some defined process. I also think standardization plays a part in this discussion. Thoughts? --Mwfnwa 13:00, 5 September 2006 (UTC)[reply]


I agree that this aspect needs work. the emphasis is on the financial cost of access and application. how about addressing the issue question of who gets access? as i understand it, an open api (or any open technology) is equally open to all comers.

in other words, if make my technology available free of charge to my friends, charge others for it, and do not make it available at all to those i regard as potential competitors, my technology (api or not) is not open. (i seem to recall that one of the standards bodies makes this an important part of their definition of "open standard." ie, not whether there is a charge, but whether or not the same thing is available to anyone willing to pay and at the same price.) - ef


Multi-language API's

Shouldn't we have an example of a language-independent API, such as DOM?:

The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. (From http://www.w3.org/DOM/)

Please, take not that there is also at least another internation meaning of "API": Active Pharmaceutical Ingredient. I don't know how to do, but I think that Wik should mention it. Ciao

Source code definition a requirement for being an API?

I don't believe it is true that an API may only be defined at a source code level. I don't see any reliable sources that use this definition (a google search that eliminates duplicates and obvious copies of this article turns up nothing useful). Furthermore, I see plenty of examples of APIs that include details that are not source-code specified, e.g., the Win32 API's reliance on Microsoft's structured exception handling implementation, the MS-DOS API (which specifies register sets that must be initialized to particular values and machine instructions that must be executed to perform a particular function - see, e.g. [1] for evidence that the term API is used to refer to this), and so on. The insistance on including the phrase "source code" in the definition, when the next sentence makes it clear that source code is the usual way of defining an API, is simply unsource POV insertion.

You are right that some vendor APIs include information that would normally be considered part of an ABI. I suspect that the intent on the vendors part is to produce a single document, rather than have separate API and ABI documents. This vendor usage ought to be mentioned in the article. In many ways the Microsoft APIs are heavily tied to Windows and might be called ABIs with an API veneer. I would also point to the P in API, it is a programming interface; one that gets used when writing software, ie, source code. Derek farn 16:25, 6 August 2007 (UTC)[reply]

I'm not going to remove it again yet, to give those who favour its inclusion a chance to justify it. But I think they'll have a hard job. JulesH 14:49, 6 August 2007 (UTC)[reply]

Decreasing quality

I note that this version of the article is in many ways superior to the current one. It's easier to understand, containing as it does a good example of an API described in terms that are relatively easy for a layman to understand (it could have been improved, but as it was it was simply deleted), and the text appears to me to be better written. Why have we destroyed a perfectly reasonable article? JulesH 14:55, 6 August 2007 (UTC)[reply]

Ditto! The current article is too technical. And I just saw that we actually have a category for that! Nice! Strawberry Island (talk) 21:56, 13 February 2008 (UTC)[reply]


Wow, the word "inculcate" is used in first paragraph of the introduction! Can't someone find a way to describe whatever is trying to be said there using simpler words? I know this isn't on the simplified English version of Wikipedia, but, come on, I am a native English speaker, I had to look the word up, and I STILL don't know what they were trying to say there. Most people who are viewing this article are NOT going to be a combination of a college English major and programmer.Mmortal03 (talk) 10:48, 25 February 2008 (UTC)[reply]

Disambiguation

Hihi

Working on cleaning up disambiguation pages...the one for API (disambiguation) has well over 500 links to it and more than 99% are meant for this page...I see there's been some discussion in the past about this...we are not saying that the programming language is the ONLY or even BEST definition, but its the one that people are most likely looking for when they type API into the search box. So I'd ask that you consider allowing me to do the redirect and put the hatnote on this page please? Thank you for your consideration. Legotech (talk) 17:49, 23 February 2008 (UTC)[reply]