Your choice of taxonomy is what matters here. Primarily languages are divided into two major components the imperative and the declarative. In the declarative, you have to advise your computer what to do while in the imperative you direct your computer how to perform certain tasks. Imperative languages are also broken into other parts such as Java, C++ and C. For the declarative languages, you can also find other subdivisions such as functional like Haskell and logic. Like Prolog.
You may also plan to group languages into dynamic and static. In static languages, you need to check your typing before running it while in dynamic languages you do not have to check the typing before you run it. Static languages are the ones like Java, C and C++. Examples of dynamic languages here are Objective-C, JavaScript, Ruby and Python.
Anyway, I think this gives you an idea.