De software, de programmatuur van een computer, is het totaal aan instructies dat aan die computer opgeven is om zijn taken te vervullen. Een computer "begrijpt" alleen "machine-instructies", codes in de vorm van lange lijsten van 8-, 16-, 32- of zelfs 64-bits getallen, die zodanig aangeboden worden dat ze als machine-opdrachten (codes) worden geïnterpreteerd. Dit betekent dus dat de hardware van de computer bepaalt waar de codes verwacht worden en waar de andere data waarmee gewerkt wordt zich bevindt. De gebruiker moet er dus voor zorgen dat de juiste code op de afgesproken plaats is. Bij microcontrollers is dat de taak van de ontwerper en kan een gebruiker het apparaat alleen maar aanzetten, bij PC's e.d. wordt de gebruiker geholpen een programma te selecteren door het "besturingssysteem" (Operating System, OpSys) dat "vanzelf" gestart is vanaf een "diskfile", klaargezet door de computer-ontwerper.
De meeste APP's worden ontwikkeld in zgn. IDE's, softwarepakketten met alle benodigde hulpmiddelen en definities. Bij het programmeren of scripten worden soms naast elkaar verschillende talen gebruikt omdat toepassingen vaak samenstellingen van verschillende deeloplossingen zijn. Omdat de benadering van variabelen en objecten tussen verschillende systemen kan afwijken, worden API's geraadpleegd.
Door als ontwerper aan te geven dat het product "Open source" is, maakt deze het mogelijk (niet commerciële) toepassing en aanpassing door derden toe te staan en daarmee de verspreiding en verbetering van de APP te versnellen.