[Eng.], v./m. (g. mv.), ben. voor computerprogramma’s, m.n. gebruikt ter onderscheiding van ‘hardware’, de computerapparatuur.
© Software kan worden onderscheiden in twee hoofdsoorten: systeemsoftware en toepassingssoftware. Onder systeemsoftware worden speciale programma’s verstaan, die bij een bepaald type computer horen en die de interne werking van de machine en de juiste programma-afwerking van de toepassingsprogramma’s regelen. De systeemsoftware kan bestaan uit een groot aantal programmadelen en routines, die allerlei functies mogelijk maken, b.v. bij het invoeren van gegevens, het opslaan en weergeven van verwerkingsresultaten, het ontwikkelen van toepassingsprogramma’s. De belangrijkste systeemsoftware voor een computer is het zgn. operating system, ook wel hoofdbesturingssysteem genoemd. Afhankelijk van het soort computer en de configuratie (het samenstel van verwerkingseenheid en randapparaten) moet een speciaal operating System actief zijn om de machine goed te laten functioneren. Wanneer b.v. gebruik wordt gemaakt van magneetschijfgeheugens voor de opslag en de directe toegang tot grote hoeveelheden gegevens, is een disk operating system (DOS) nodig.
Tevens moet het DOS het mogelijk maken dat toepassingsprogramma’s kunnen worden ontwikkeld en gebruikt, waarmee gegevensbestanden op magneetschijven kunnen worden geraadpleegd en bijgewerkt. Systeemprogrammatuur wordt doorgaans ontwikkeld door computerfabrikanten en door softwarebureaus, die in het ontwikkelen, verbeteren en aanpassen van systeemsoftware zijn gespecialiseerd. Toepassingssoftware kan door een computergebruiker zelf worden ontwikkeld of eveneens worden overgelaten aan een softwarebureau. Daarnaast bestaat nog de mogelijkheid om voor bepaalde, vaak voorkomende toepassingen standaard- of confectiesoftware te kopen of te huren. Zo bestaan er standaardprogrammapakketten voor financiële administraties, voorraadbeheer, belastingadministratie en in de technisch-wetenschappelijke sfeer voor het berekenen van staalconstructies, het ontwerpen van auto’s en vliegtuigen enz.
Voor unieke en betrekkelijk eenvoudige toepassingen zullen de meeste computergebruikers zelf hun toepassingssoftware ontwikkelen en onderhouden. Daarvoor staat hun een groot aantal programmeertalen ter beschikking. De belangrijkste zijn: BASIC (Beginner’s Allpurpose Symbolic /nstruction Code) voor administratieve, rekenkundige en hobbytoepassingen, ALGOL (ALGOrithmic Language) en FORTRAN (FORmula 77MNslation), PL/I en APL (.A Programming Language) voor technisch-wetenschappelijke toepassingen, ANS COBOL (American National Standard COmmon Business Oriented Language) voor bedrijfsadministratieve toepassingen en PASCAL, Lisp en ADA voor toepassingen van bijzondere aard.
Programmeertalen zijn zgn. formele talen om de mens in staat te stellen te communiceren met de machine-intelhgentie. De grammatica of syntax van deze formele talen vereist een strikte logica. Mensen moeten een gedegen studie van het programma maken, alvorens zij zo’n taal tot op zekere hoogte beheersen. Desondanks kan programmeren een moeilijke en moeizame bezigheid zijn. De moeilijkheidsgraad van de meeste programmeertalen staat een wijd verbreid gebruik van (privé)computers nog in de weg. Dat kan worden ondervangen door meer kant en klare standaardsoftware te ontwikkelen en op de markt te brengen, maar ook door de systeemsoftware intelligenter of gebruiksvriendelijker te maken, waardoor het programmeren aanzienlijk wordt vergemakkelijkt.