Logiciel
Les deux principales catégories de logiciels sont les logiciels "applicatifs" et les logiciels de "système". Le logiciel applicatif est destiné à aider les usagers à effectuer une certaine tâche, et le logiciel de système est destiné à effectuer des opérations en rapport avec l'appareil informatique.
Interface de programmation
Dans l'industrie contemporaine du logiciel, les applications informatiques se servent de nombreux logiciels tiers, tels qu'un système d'exploitation, des bibliothèques standard, ou des serveurs d'application. Chacun de ces produits a sa propre interface de programmation. Ainsi chaque programmeur impliqué dans le développement de tels produits est impliqué, consciemment ou non, dans le "business" des interfaces de programmation. Du point de vue "business" une interface de programmation est un contrat par lequel un fournisseur de fonctionnalité décrit son offre, les fonctionnalités qu'il offre et les éventuelles limitations.