There are a variety of ways in which we can classify the types of languages. On the basis of generation to which a language belongs, we have:-
1. First Generation Languages - Machine Languages, or low-level languages.
2. Second Generation Languages - Assembly languages (programs were more English-like than strings of 0's and 1's).
3. Third Generation Languages - Higher level languages such as Fortran, Cobol, C++, C, Java, C#, Lisp.
4. Fourth Generation Languages - Languages designed for specialized tasks, ex- NOMAD for report generation, SQL for database queries, Postscript for text formatting.
5. Fifth Generation Languages - Logic and constraint-based languages such as Prolog and OPS5.
Here's another classification:-
1. Imperative Languages - Imperative languages are those in which the program specifies 'how' to perform a computation. The answer to this is provided usually in a control flow that takes the program through different states (imagine this as a state transition implementation). Examples include C. C++, Java, C#.
2. Declarative Languages - Functional languages such as ML and Haskell, or constraint logic languages like Prolog.