Imperative, procedural and, since 2002, object-oriented programming language