When programmers create software programs, they first write the program in source code, which is written in a specific programming language, such as C or Java. These source code files are saved in a text-based, human-readable format, which can be opened and edited by programmers. However, the source code cannot be run directly by the computer. In order for the code to be recognized by the computer's CPU, it must be converted from source code (a high-level language) into machine code (a low-level language). This process is referred to as "compiling" the code.
Most software development programs include a compiler, which translates source code files into machine code or object code. Since this code can be executed directly by the computer's processor, the resulting application is often referred to as an executable file. Windows executable files have a .EXE file extension, while Mac OS X programs have an .APP extension, which is often hidden.