Java was born in Sun Microsystems as a universal language programming, that's because it runs over a Virtual Machine(VM) and means that if the VM exists for a certain platform, the program can be run(in theory) without change a single line of code or recompile. Really, I don't like so much, but it's so much easy to learn and use and, as a friend said once: Java it's a big Lego's box, just put the pieces together and it works!.