Nice is an advanced object-oriented programming language. It extends the concept of object-orientation by allowing multi-methods, that can be declared even for existing classes, and who select their implementation based on all their arguments.

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.

External link