title: Languages that compile to Java Bytecode and can run on the JVM
body: <p>I am an embedded programmer and working with an embedded JVM.</p>
  
  <p>This enables running Java files on constrained devices.
  These Java files are first compiled to bytecode into .class files which are then further optimized and uploaded to the device which has a micro JVM to run the optimized bytecode.
  The micro JVM does not support all features, e.g., no reflection.</p>
  
  <p>The main benefit is obvious: this allows programming in Java for constrained devices.
  However, I was thinking that plenty of languages compile to bytecode, some are listed <a href="https://en.wikipedia.org/wiki/Java_bytecode" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Java_bytecode</a>.
  So in theory these languages could also be used to program.</p>
  
  <p>I'd like to obtain a list of common languages that compile down to bytecode and was wondering if you could help.
  For example, Python has special implementations that reduce to Java Bytecode, if I'm not mistaken, and stuff like C to Java virtual machine compilers also exist.</p>
  
  <p>So what languages would you think are logical to try and run on the devices? Any pointers on how to or similar experiences?
  Also, I'm not clear what the difference is from reading Wikipedia between (Python) bytecode and Java bytecode, could anybody help explain that?</p>