Imperative programming: The style of programming generally related with languages such as FORTRAN, C, Pascal and so forth. Imperative programming is differentiated from functional programming in that the previous is strongly tied to the idea of variables and memory locations. The variable is related with a memory location and the contents of that memory location might be modified, through the variable, over the course of time. The meaning or consequence of a program fragment at a particular point can only be understood by reference to the current contents of the set of relevant variables, consequently. In contrary, functional programs do not permit the contents of a variable to be modified once set (that is, in simplified terms), therefore making them simpler to reason about. While languages like Java and C++ and are too imperative programming languages, firmly speaking, they are more generally termed to as object-oriented programming languages.