An application programming interface (API) is the specification for which software is meant to be used by other software.

learn more… | top users | synonyms

279
votes
34answers
61k views

How do I create my own programming language and a compiler for it

I am thorough with programming and have come across languages including BASIC, FORTRAN, COBOL, LISP, LOGO, Java, C++, C, MATLAB, Mathematica, Python, Ruby, Perl, JavaScript, Assembly and so on. I ...
61
votes
10answers
4k views

What's the difference between an API and an SDK?

I was looking through various APIs and SDKs, when I realized that I couldn't really tell the difference between something called an API and something called an SDK. Both of them are, conceptually, a ...
45
votes
4answers
1k views

Why were Java collections implemented with “optional methods” in the interface?

During my first implementation extending the Java collection framework, I was quite surprised to see that the collection interface contains methods declared as optional. The implementer is expected ...
43
votes
13answers
17k views

Why aren't more desktop apps written with Qt?

As far as I know and have understood in my experience with Qt, it's a very good and easy to learn library. It has a very well designed API and is cross-platform, and these are just two of the many ...
29
votes
10answers
2k views

How can I write a set of functions that can be invoked from (almost) any programming language?

I'd like to find a way to write an API that can be accessed from any other programming language via language bindings (or some other framework). Is it possible to do this? If so, which programming ...
27
votes
3answers
1k views

What's so bad about the DOM?

I keep hearing people (Crockford in particular) saying the DOM is a terrible API, but not really justifying this statement. Apart from cross-browser inconsistencies, what are some reasons why the DOM ...
22
votes
1answer
605 views

Why have hardware-accelerated vector graphics not taken off?

I'm working on an app that involves real-time manipulation of vector paths at 60fps, and I'm very surprised by how little information there is on the subject. At first, I tried to implement my idea ...
21
votes
9answers
1k views

Interface naming: prefix 'Can-' vs suffix '-Able'

It's common to use '-able' as a suffix for interfaces e.g. Serializable Printable Enumerable Drinkable Shootable Rotatable I was thinking that 'Can-' might better because it may be more descriptive. ...
21
votes
2answers
915 views

What does it mean to expose a C++ code publicly as a C API and what are the advantages of doing it?

I often hear people say that C++ programmers should expose their library's/product's public API as a C API. What does that mean and what are the advantages of that?
19
votes
8answers
1k views

“Public APIs are forever: Only one chance to get it right”?

In an OS book I just read that, "Public APIs are forever: Only one chance to get it right". Is it true? Is it applicable only in APIs of Operating Systems or other APIs too? For example, will this be ...
17
votes
2answers
825 views

Should a website use its own public API?

I am starting to write a webservice, and I've built with nodeJS and a RESTfulish approach. From what I gather: The advantage is that you don't have to duplicate code. The disadvantages are that ...
16
votes
11answers
2k views

Is it a really required skill to program without API documentation?

I barely passed my Java programming exam today. I had to answer some general questions about threading which I did well and to write a little threaded program which was worse. I had to connect my ...
14
votes
3answers
408 views

Does decoupling trump DRY in REST?

I am building a REST API to expose most of functionality of an existing Java API. Both APIs are for internal use within my organization; I do not have to design for external use. I have influence ...
14
votes
4answers
7k views

Web api authentication techniques

We have a asp.net MVC web service framework for serving out xml/json for peoples Get requests but are struggling to figure out the best way (fast, easy, trivial for users coding with javascript or OO ...
12
votes
7answers
706 views

How do you remember numerous API?

I don't come from programming background, I mean I am not a hard core developer. Whatever language features I have learnt are attributed to Selenium test tool (my reasoning is not enough to justify ...
11
votes
4answers
411 views

Using natural language grammar in fluent API

I'm tinkering with a query abstraction over WebSQL/Phonegap Database API, and I find myself both drawn to, and doubtful of, defining a fluent API that mimics the use of natural English language ...
11
votes
4answers
1k views

What do you think of Android API design?

When I got acquainted with Android platform my first impression was WOW, that's must be a super awesome thing. But when I started developing for it I felt that its learning curve could be simpler. ...
11
votes
6answers
453 views

How do you learn a language's standard framework/API/functionality?

I understand how to code. I know how to get around the basics of the languages I use regularly. I know how to write slightly-above-basic regular expressions, I can talk to databases, I can accept ...
11
votes
2answers
3k views

How should an API use http basic authentication

When an API requires that a client authenticates to it, i've seen two different scenarios used and I am wondering which case I should use for my situation. Example 1. An API is offered by a company ...
9
votes
3answers
649 views

Joda Time vs Java Time

Although Joda is feature rich and more sophisticated than standard Java time, it may not always be the best thing to use. How do I decide if I should use Joda Time or Java Time in any Java code? Is ...
9
votes
6answers
2k views

Are Java's public fields just a tragic historical design flaw at this point?

It seems to be Java orthodoxy at this point that one should basically never use public fields for object state. (I don't necessarily agree, but that's not relevant to my question.) Given that, would ...
9
votes
4answers
5k views

Difference between Web API and Web Service?

I have heard about Web Services and Web API's a lot, is there any difference between them or are the same?
9
votes
2answers
6k views

How do web API's work?

I have heard of many web API's like that of Facebook, Twitter, etc., which helps third party access data and manipulate it. I would like to know how a web API works. What are the basics of a web API? ...
9
votes
4answers
881 views

Evolution of the Win32 API

Has the Windows 32 API changed much over time? Does the Charles Petzold book "Programming Windows, 5th Edition" from 1998 still contain relevant information, or is most of it obsolete/outdated? What ...
8
votes
3answers
135 views

How to document experimental or incomplete APIs like @deprecated?

Is there a good term that is similar but different than "deprecate" to mean that a method or API is in the code base but should not be used because its implementation is not complete or will likely ...
8
votes
8answers
598 views

Examples of Java APIs that demand an action sequence

As part of a research I'm working on, I'm looking for public APIs that only work correctly when you apply a certain sequence of actions on them. For example, the java.nio.channels.SocketChannel ...
8
votes
4answers
566 views

How are undocumented functions discovered?

I've always wondered how do you find undocumented / private API ? Example the Apple undocumented / private API, Play Station, Windows Phone 7, Win32 Kernel, Windows API, hidden callback, etc... ...
8
votes
3answers
316 views

How to do external API testing (blackbox)

Assume you are using APIs from a vendor, how to make sure their API is working as expected? My main concern is sometimes the vendor pushed the changes to their code and break the API, we want to have ...
8
votes
5answers
849 views

Internal and external API architecture

The company I work for maintains a successful SaaS product that grew "organically" over the years. We are planning to expand the line with a suite of new products that will share data with the ...
8
votes
1answer
478 views

What API design for storing generic data in a more specific format?

for In the project I am working on we send messages about widgets over message queues, serializing them onto the queues as XML. The XML schema contains tags for properties that are common to all types ...
7
votes
6answers
342 views

What core principles would you want in a library?

Theres talk about what syntax and feature you like in a programming language; i'll now ask what core principles or feature would you like in a library in your favorite (or any) language? An example ...
7
votes
5answers
554 views

Why use services (REST/SOAP) instead of a library?

Let's say you're looking at breaking up your applications into services. Are there any good reasons to adopt a SOA approach vs. just creating a library API that can be loaded by the applications that ...
7
votes
2answers
1k views

What ever happened to the Google AJAX Search API

I am looking to query the main Google search however all references including stackoveflow point to the Google AJAX Search API. The odd thing is that it does not seem to exist any more not even a ...
7
votes
2answers
415 views

is there any point learning win32 in 2011?

I am 17 years old and have been programming in c# for around a year. I have some basic understanding of c but the whole win32 api is confusing to me at the moment. At this point in my life, do the ...
7
votes
1answer
238 views

How To Handle Login For An Unofficial API?

I am building a tool to access some data on a site (Fitocracy) and I would like to turn it into an unofficial partial API, as no official API exists. If you are not logged in, you cannot get access ...
6
votes
8answers
420 views

What do programmers want in a web API?

I'm currently building a web API for popular piece of forum software (XenForo). What kind of things do developers find important in a web API? Are there certain architectures (REST, SOAP, etc.) that ...
6
votes
4answers
418 views

Should functions of a C library always expect a string's length?

I'm currently working on a library written in C. Many functions of this library expect a string as char* or const char* in their arguments. I started out with those functions always expecting the ...
6
votes
6answers
375 views

Should I continue teaching old Java input methods alongside the new ones?

I've been imparting a Java introduction course for several years. Some slides explain how to read from files and keyboard using BufferedReaders, InputStreams, FileInputStreamReaders etc. I'm adding ...
6
votes
3answers
189 views

Does a mobile app need more access than the public API of a site?

I have a site with a public API, and some mobile app developers have been brought in to produce an iPhone app for the site. They insist they need to see the database schema, but as I understand it, ...
6
votes
6answers
3k views

How to learn an API

When I find some interesting project (e.g. on GitHub) I often would like to use it and try it out to see how it works, but if there isn't a good documentation or some kind of tutorial it's hard to ...
6
votes
2answers
246 views

REST API Library Conventions

Most API libraries define one method for each endpoint. If there is an endpoint for getting user information, you might have a method like: getUserInfo(userId); That simple method is often a ...
6
votes
4answers
172 views

best language/api for generating tones at a given frequency?

I'd like to write a simple keyboard program that plays in Just Intonation. I'm an experienced programmer, but I've never delved into writing an instrument before. In my (admittedly naive) thinking, ...
6
votes
2answers
140 views

event listener pattern in api - what should adding the same listener twice do?

In designing an API that provides an event listening interface, it seems there are two conflicting ways of treating calls to add/remove listeners: Multiple calls to addListener will only add a ...
6
votes
1answer
283 views

Generate commerical license key for web service

Background I have a business question regarding web-based software licensing. A number of web sites offer software as a service for various APIs. A good example is Google's Custom Search API. The ...
6
votes
3answers
539 views

Balancing dependency injection with public API design

I've been contemplating how to balance testable design using dependency injection with providing simple fixed public API. My dilemma is: people would want to do something like var server = new ...
6
votes
4answers
1k views

How best do you represent a bi-directional sync in a REST api?

Assuming a system where there's a Web Application with a resource, and a reference to a remote application with another similar resource, how do you represent a bi-directional sync action which ...
6
votes
2answers
308 views

Are there any C API explorers/browsers out there that include the GNU C Library methods and data structures?

I am looking for something similar to the Java API documentation, but for the GNU C Library. I am trying to develop a simple server/client Sockets program but I keep getting lost in the different ...
6
votes
2answers
867 views

Good examples and best practices for writing Python wrappers around C APIs

I have an internal API, written in C, which I'd like to write a Python wrapper around it. The API is well structured: it has a few data structs and functions for each kind of struct, like this: ...
6
votes
1answer
189 views

REST API rule about tunneling

Just read this in the REST API Rulebook: GET and POST must not be used to tunnel other request methods. Tunneling refers to any abuse of HTTP that masks or misrepresents a message’s intent and ...
6
votes
5answers
422 views

Learning about the Facebook Platform [closed]

I'm looking to learn more about the Facebook platform but I can't say I've found the IRC channel, the Facebook Developer Forum, or the online documentation very helpful. Has anyone else recently been ...

1 2 3 4 5