Java1 is a programming language that can be installed and run on all major operating systems. Cucumber has been ported to many programming languages, but this book is about the version written in Java. That doesn’t mean the system you’re testing has to be written in Java. Java has many libraries that enable it to talk to other languages and platforms, and we’ll show you how to use them to test web-based systems that could be written in any language. Additionally, since the Java Virtual Machine (JVM) supports many programming languages, the Java version of Cucumber works well with programs written in other JVM languages (such as Groovy, Scala, and Clojure). To follow along with the coding examples in the technical chapters, it will help if you’re familiar with Java. Java is not the easiest language to learn, but neither is it the hardest, and the Java examples we’ll use are deliberately simple.