This document surveys alternative languages that run on the Java Virtual Machine (JVM), including ported languages like JRuby and new languages like Groovy and Scala. It discusses why developers use these languages, noting they provide access to powerful Java platforms and libraries while allowing programming in more modern languages. Issues like performance and compatibility challenges are also outlined. Examples of code in several languages are provided.