| Oak | 1989 | object-oriented programming | — | — |
| Oaklisp | 1986 | object-oriented programming | dynamic typing, strong typing | — |
| Oberon | 1987 | procedural programming, structured programming, imperative programming, modular programming, object-oriented programming | dynamic typing, static typing, strong typing | 7 |
| Oberon-2 | 1991 | imperative programming, object-oriented programming | strong typing | 2 |
| Object Oberon | 1990 | object-oriented programming | — | — |
| Object Pascal | 1986 | generic programming, procedural programming, structured programming, imperative programming, multi-paradigm programming, object-oriented programming | dynamic typing, static typing, safe typing, strong typing | 6 |
| Object REXX | 1988 | object-oriented programming | — | — |
| Objective-C | 1984 | reflective programming, multi-paradigm programming, class-based programming, object-oriented programming | dynamic typing, static typing, weak typing | 5 |
| Objective-J | 2008 | reflective programming, functional programming, imperative programming, object-oriented programming | dynamic typing, duck typing, weak typing | — |
| ObjVProlog | 1989 | — | — | — |
| Obliq | 1993 | prototype-based programming, structured programming, parallel computing, imperative programming, modular programming, object-oriented programming | dynamic typing, strong typing | — |
| OCaml | 1996 | functional programming, imperative programming, modular programming, object-oriented programming | static typing, inference typing, structural typing, strong typing | 12 |
| Occam | 1983 | concurrent computing, procedural programming, imperative programming | — | 3 |
| Octave | — | — | — | — |
| Odin | 2016 | — | — | — |
| Ooc | — | — | — | — |
| Ook! | — | — | — | — |
| Opa | 2011 | functional programming, imperative programming, multi-paradigm programming | static typing, inference typing, strong typing | — |
| Opal | — | functional programming | — | — |
| Open Programming Language | 1984 | structured programming, imperative programming | — | — |
| Open Roberta | — | event-driven programming | dynamic typing | — |
| Open Shading Language | — | — | — | — |
| OpenCL | 2009 | generic programming, structured programming, imperative programming, object-oriented programming | manifest typing, static typing, nominative typing, weak typing | — |
| OpenEdge Advanced Business Language | — | object-oriented programming | — | — |
| OpenGL ES Shading Language | 2009 | — | — | — |
| OpenGL Shading Language | 2004 | — | — | — |
| OpenJDK | 2007 | — | — | — |
| Openmodelica | — | declarative programming | — | — |
| OpenMusic | — | — | — | — |
| OpenMx | 2010 | structural equation modeling | dynamic typing | — |
| OpenQASM | 2017 | — | — | — |
| OPS5 | — | functional programming | — | 2 |
| OptimJ | 2006 | object-oriented programming | — | — |
| Orc | 2004 | concurrent computing | — | — |
| Orca | 2018 | — | — | — |
| ORCA/Modula-2 | 1994 | — | — | — |
| Oriel | 1991 | procedural programming, imperative programming | — | — |
| Orwell | 1984 | functional programming | — | 1 |
| Overpass QL | — | procedural programming, imperative programming | — | — |
| Overpass XML | — | procedural programming, imperative programming | — | — |
| Oxygene | 2005 | parallel computing, object-oriented programming | — | — |
| Oz | 1991 | concurrent computing, prototype-based programming, functional programming, imperative programming, multi-paradigm programming, constraint programming, object-oriented programming | dynamic typing | 2 |