Lots of Windows programmers (like me) have learnt programming GUI applications in VB6.0, which is now replaced by VisualBasic.Net Express freely available from Microsoft.
SharpDevelop from icsharpcode.net is equally good, if not better. Which is also what I use at work. You can always stop using Sharpdevelop without losing a penny and painlessly one-click migrate all your code to Visual Studio (whatever version) when you decide to purchase MS products.
If you prefer Pascal or Turbo products, go to turboexplorer.com, where they say, “the Turbos are back!” The Turbo Explorer Series is fully free even for commercial development. IMO, that’s next best for learning C#, after MS VS Express, and the only choice for Delphi.
Then there are Smalltalk, Eiffel, etc, but they are not mainstream and are not worth spending time on. If you want a cheap, supported version of Visual Basic-compatible compiler, then RealBasic is best ($100). Code is >95% VB-compatible. For free hobbyist use, there is LibertyBasic. OBasic, X-basic are totally different and NOT like VB, so stay clear.