Memory is a scret things. many people may encounter the following situation: when you endeavour to remember some connected or similar things togther, It often become more difficult to remember them. what confuses us most just lies in the many similarities and differences in their properties.
functional programming vs imperative programming
From the perspective of deeper phylosophy level of programming, we can distinct all kinds of languages(such as ruby, python, c, c++, haskell, lisp etc) with the category above.