Programming starts with a good plan. If you don't plan your work all your doing is planning to fail and it is really that simple. Coming up with a plan doesn't have to be hard just keep it simple and all will be fine. Pseudo-code or a flow-chart can help get from point to point along the way. I like the idea of Pseudo-code much better as when your done your Pseudo-code plan half of it turns in to code in the end anyways.
The next step to programming is get yourself a good text editor. Most programs are very simple and do not need a IDE ( Integrated Development Environment) and will be easier to manage yourself. Only on programs involving several files will an IDE have any advantage. Notepad++ is a very well known and well thought out text editor. It is a programmer's text editor which colorizes the functions, statement keywords.
When working on large and complex software applications, and games it becomes necessary to use a more powerful tool. Integrated Development Environments add more complexity to the work but, simplify the work at the same time. When multiple user work on the same file the work can be merged into one larger more complex software package. Without the tool the code would have to be merged together one chunk at a time.
The most common tool used is Microsoft's Visual Studio. Visual Studio is a multiple language IDE working with Visual Basic, Visual C++, Visual C#, and Visual Java. While the individual language tools can also be purchased. While the pro's use the Professional and Enterprise versions Microsoft also offers a free version called Microsoft Visual Studio Express. The Express version does not include all the bells and whistles but gives more power than Notepad++ offers. Aptana is another popular IDE that can be found. Aptana is a free IDE for use in internet applications such as, HTML, JavaScript, PHP, Ruby on Rails and more.
Aptana does for web site design what Visual Studio does for windows programming. Complex Web sites need to have a great tool behind them to simplify the work and Aptana does a great job at it. While a little slow to start since it is a Java application, once going it is very responsive.