The Nice programming language is a OO language based on Java. In fact, it compiles down to Java class files, can be run in a standard JVM, and can call existing Java libraries. Features included that I’ve missed in Java are: anonymous functions, multi-methods, tuples, named parameters, and full design by contract.