Currently, I use MinGW for C/C++, Sun's SDK for java, and the Crimson Editor or Notepad++ for editing and Eclipse for my IDE.
Microsoft limits what you can do with the code you create with the Express versions of Visual Studio so as far as I am concerned it doesn't count as free development tool. I see them more as a training tool for the paid version of Visual Studios.