COBOL er et tidligt højniveau-programmeringssprog.
Navnet er en forkortelse for COmmon Business Oriented Language, og var tænkt som et programmeringssprog primært til firmaer, økonomi og administrative systemer for firmaer og regeringer. Det skulle gøre det nemt at flytte et program fra en computer-installation til en anden, selv om den anden kørte på en helt anden type maskiner, da sproget var fælles (Common) for mange typer computere[1], kildekoden skulle blot oversættes af en anden oversætter.
Sproget var baseret på nogle af de erfaringer, man havde gjort med sproget FLOW-MATIC, der fandtes til UNIVAC I og II maskiner[2]. Denne første standardiserede beskrivelse af sproget, kaldes COBOL 60. Standarden tillod, at dele af sproget, modules ikke behøvede at være med i en implementering af oversætteren eller kunne implementeres på to forskellige niveauer, men en bestemt nucleus skulle findes[3][4].
I et forsøg på at gøre programmeringssproget nemt at lære[3], er der defineret mange ord i sproget til specielle formål, så man som programmør kommer lidt tættere på at skrive engelsk[1]. COBOLs stærke side er, at det er designet til forholdsvis enkle administrative opgaver som ordrebehandling, bogføring, fakturering, lønkørsler og lagerstyring[5]. Det har som konsekvens, at det er svært at skrive avancerede programmer i sproget.[kilde mangler]
I modsætning til de fleste andre programmeringssprog er der ingen lokale variabler, da der ikke er mulighed for gængse funktionskald. Man kan derfor heller ikke lave rekursive kald. I et system, hvor der er brug for mange programmoduler af hensyn til overskueligheden, bliver hvert modul lavet som et nyt program. Data overføres uformateret som et område i ram, der er fælles for det kaldende og det kaldte modul.