Create web and desktop applications using an object oriented language.
Create Java applications that run on all operating systems.
Adds extra features to allow simple interaction with the .NET environment.