title: Why don't imperative languages have pattern matching?
body: <p>So, pattern matching in functional languages is pretty awesome. I wondering why most imperative languages haven't implemented this feature? To my understanding, Scala is the only "mainstream" imperative language that has pattern matching. The case/switch structure is just so much less powerful.</p>
  
  <p>In particular, I am interested in whether the lack of pattern matching is because of technical reasons or historical reasons?</p>