Why do we need a successor to Java?

Java was invented in the early nineties.  At the time, all existing languages in wide use had significant usability issues and were platform-dependent.  Java largely solved both of these problems.  It is clean, simple, object-orientated, easy to read, easy to document and it comes with a large number of relatively well designed class libraries.

However, Java has its drawbacks.  To be accepted by developers, it necessarily had to be constrained to look a lot like languages of the time (basically C++) which prevented some more radical language changes and meant that Java inherited some bizarre limitations (e.g. the switch statement).  The way programming languages are used has changed since 1991, as have the requirements on the software being developed.  Modern software systems need to be more secure, distributed and far more complex than the systems of ten years ago and these demands will only increase in future.  Java is becoming increasingly hard to apply because of a number of fundamental problems:

Jura aims to address all of these issues.  Furthermore, its extensibility will allow it to evolve as demands on the language change.