Don't know why you are being downvoted. Mathematica is a pattern matching language. You set downvalues or upvalues usually. It does have functional syntax and functional methods but the base of it is pattern matching. That contributes to its rather poor performance and necessity to use Compile for C level perf. Most likely Wolfram was inspired by a couple other CAS being developed around the time he started developing Mathematica.