title: Should functional programming be taught before imperative programming?
body: <p>It seems to me that functional programming is a great thing. It eliminates state and makes it much easier to automatically make code run in parallel.</p>
  
  <p>Many programmers who were first taught imperative programming styles find it very difficult to learn functional programming, because it is so different. I began to wonder if programmers who were taught functional programming first would find it hard to begin imperative programming. It seems like it would not be as hard as the other way around, so I thought it would be a good thing if more programmers were taught functional programming first.</p>
  
  <p>So, my question is, should functional programming be taught in school before imperative, and if so, why is it not more common to start with it?</p>