Reputation: 2078
I recently started learning about functional programming and getting hands on with Haskell. With the fundamental difference between functional paradigm and others is, we don't maintain states and there are no computations as in imperative paradigm. The basic theory behind imperative programming is Automata theory and automata theory is the basis for computers.
So having said that, I cannot see any relation between automata theory and functional programming. So has functional programming changed the fundamentals of programming inside-out?
Upvotes: 2
Views: 470
Reputation: 5028
About the same time as Turing Machines where developed (I'm just guessing that you are referring to TMs, when you say Automata theory is the basis for computers) also the lambda-calculus was suggested as a model of computation (okay not quite computers, but close). Both notions turned out to be equivalent in the sense that whatever can be "implemented" on a TM can also be "implemented" by a lambda term and vice versa. Moreover functional programming is more or less an implementation of the (typed) lambda calculus. So I guess it is just two different ways of looking at the same thing.
Upvotes: 3