Nice has a more powerful system than most object-oriented languages, which allows for instance to detect during compilation all null dereferencing errors, and most casting errors.
Source programs are compiled to Java bytecodes, and can interact with libraries written in Java.
Nice also implements contracts, similarly to Eiffel, and incorporates many features from functional programming, like anonymous functions, tuples, and parametric types.