The generally accepted best practice is to develop your programs using an iterative, incremental process. This means develop in little steps, compiling and running after making each small step. These steps can be very small - even after adding just one statement you might want to compile and test the program again.
Highly recommended. This is the recommended technique for all programs, from very large to very small. It has several advantages over trying to write the program as one lump. It may sound that making these baby steps is only for beginners, but this isn't so -- it is the technique used and recommended by many professional programmers.
Iterative programming can tempt you to start coding before you have a reasonably clear idea of what you want to do. Think about the problem a little bit before you start. The design phase becomes more important as programs become larger.