Compilers are special desktop applications that are meant to transform source code from any programming language into binary form (or another computer language).
Compilers are mainly used for creating executable files, that are easier to handle by end-users.
Also, some of them are specialized for handling exclusively Java-compatible files, while other can manage all sorts of formats.
Compilers were created to help software developers in their attempt to build user-friendly programs, without performing any errors.