There are several things you must do or have to insure that you can develop programs on your computer. Depending on the programming language you choose, these can be included as part of the OS or may involve installation of additional software. To write, test and run programs, you will need either a compiler or interpreter for your language of choice, a text editor and a linker (for compiled programs). In addition, there are other utilities available to assist the development of larger projects.
As mentioned above, the instructions you give the computer in your program must be translated to machine code in order to be executed by the computer (unless you program directly in machine code, which is VERY tedious and error prone-some of my early programs were done this way, and it just simply is not worth the headaches for most applications). There are two broad categories for using software to do this translation: compiling and interpreting. Both methods involve a process called parsing, which is the 'decoding' of your commands and instructions. The difference lies in when the parsing is done in relation to when the instructions are actually executed.