Simula er etblokorienteretprogrammeringssprog beregnet til opgaver isimulering. Det er samtidig det første programmeringssprog, der benytterobjektorienteret programmering. Det kan til dels betragtes som en udvidelse afAlgol.
Sproget blev udviklet i 1960'erne afOle-Johan Dahl ogKristen Nygaard påNorsk Regnesentral. Den første version kaldtesSimula I og blev udviklet til enUNIVAC-computer i1965. Dette sprog blev implementeret på flere computerfirmaers maskiner. I1967 komSimula 67. Dette sprog blev mere udbredt. En senere version,Simula 87, implementerer forskellige grader af beskyttelse af objekters interne data og metoder og findes også i en version tilMS-DOS.
Sproget Simula introducerede klasser, subklasser, objekter, virtuelle metoder ogspildopsamling. Ligeledes indeholder sprogetkorutiner, der tilladerfrivillig tidsdeling mellem forskellige dele af programmet. Dette gjorde sproget særdeles velegnet til simulering f.eks. af køproblemer. Men sproget fungerer også godt til mange andre simuleringsopgaver.
Simula har fået mange efterfølgere, inspireret først og fremmest af sprogets objektorienterede elementer. Her kan nævnesC++,BETA,Smalltalk-80,Java ogC#.