title: kotlinc vs kotlinc-jvm to compile and kotlin vs java to run
body: <p>I have just installed <code>Kotlin</code> version <code>1.7.0</code> and the bin folder has the following runnables.</p>
  <ul>
  <li><code>kotlinc</code></li>
  <li><code>kotlin-jvm</code></li>
  <li><code>kotlin</code></li>
  </ul>
  <p>After quick check found that <code>kotlinc</code> and <code>kotlin-jvm</code> are used to compile code to bytecode just like <code>javac</code> in Java. Why there are 2 commands for <code>kotlin</code> compilation. Is there any significant difference?</p>
  <p>And, should I use <code>java</code> command to run the bytecode or <code>kotlin</code> command to run the bytecode. Any tradeoffs in terms of performance.</p>