Java is a programming language that allows software to run on many platforms without recompilation. It has a long history beginning in 1991 at Sun Microsystems and is now open source. Key features include being platform independent, object oriented, secure, providing automatic memory management, and being robust. Java programs use a Java Virtual Machine to run on different operating systems. The Java Development Kit includes tools for developing Java programs. Java is widely used for both desktop and mobile applications as well as enterprise software.