title: Is there a programming language with better approach for switch's break statements?
body: <p>It's the same syntax in a way too many languages:</p>
  <pre><code>switch (someValue) {
  
    case OPTION_ONE:
    case OPTION_LIKE_ONE:
    case OPTION_ONE_SIMILAR:
      doSomeStuff1();
      break; // EXIT the switch
  
    case OPTION_TWO_WITH_PRE_ACTION:
      doPreActionStuff2();
      // the default is to CONTINUE to next case
  
    case OPTION_TWO:
      doSomeStuff2();
      break; // EXIT the switch
  
    case OPTION_THREE:
      doSomeStuff3();
      break; // EXIT the switch
  
  }
  </code></pre>
  <p>Now, all you know that <code>break</code> statements are required, because the <code>switch</code> will continue to the next <code>case</code> when <code>break</code> statement is missing. We have an example of that with <code>OPTION_LIKE_ONE</code>, <code>OPTION_ONE_SIMILAR</code> and <code>OPTION_TWO_WITH_PRE_ACTION</code>. The problem is that we only need this &quot;skip to next case&quot; very very very rarely. And very often we put break at the end of <code>case</code>.</p>
  <p>It's very easy for a beginner to forget about it. And one of my C teachers even explained it to us as if it was a bug in C language (don't want to talk about it :)</p>
  <p>I would like to ask if there are any other languages that I don't know of (or forgot about) that handle switch/case like this:</p>
  <pre><code>switch (someValue) {
  
    case OPTION_ONE:  continue; // CONTINUE to next case
    case OPTION_LIKE_ONE:  continue; // CONTINUE to next case
    case OPTION_ONE_SIMILAR:
      doSomeStuff1();
      // the default is to EXIT the switch
  
    case OPTION_TWO_WITH_PRE_ACTION:
      doPreActionStuff2();
      continue; // CONTINUE to next case
  
    case OPTION_TWO:
      doSomeStuff2();
      // the default is to EXIT the switch
  
    case OPTION_THREE:
      doSomeStuff3();
      // the default is to EXIT the switch
  
  }
  </code></pre>
  <p>The second question: is there any historical meaning to why we have the current break approach in C? Maybe continue to next case was used far more often than we use it these days ?</p>