You should start by defining what you actually want to achieve, as soon as you have this clear you can ask more specific questions.
For instance, do you want to produce apps for the iPhone? In that case Objective C is the way to go and I would advice to get yourself a mac and use Apple's tools for the production. For Android, Java is the way to go and Eclipse is a good tool (IDE) to use. For Windows/Linux programming, I would advice to start with something like Python and perhaps move on to C/C++ later on. If you want to focus purely on Windows and especially applications and not games, I think C# is by far the best choice for a language in combination with the excellent Visual Studio IDE.
Although these are rough generalisations and are open for debate (better not ), I just want to point out there is no such thing a 'the' best language or tool. It totaly depends on your requirements.