If there are any people out there still after advice, specifically non-programmers who want to write games now but want to contribute to their programming skills for later on:
Don't learn Visual Basic 6/Blitz/QuickBASIC/Pascal/Delphi if you can avoid it, as they are showing their age and belong in a museum. Don't jump straight into C/C++ if all you want to write is games, as you will go mad.
SOLUTION: As CPUs are now quite fast and Open Source is everywhere, there are loads of high-level scripting (or "interpreted") languages just begging to be used. Prominent ones include Python, Ruby, Perl, .NET and Java; all of which have bindings to multimedia frameworks such as the SDL library (which is a complete framework sort of like DirectX, but freely available for Windows/OS X/Linux).
My suggestion is to download Python, get the official tutorial (READ IT WHILE STARTING, no excuses) and some of the many internet references (this one is good for absolute beginners to coding, this one is good if you're versed in another language and want a crash course), and have a go. All you need is a handy text editor with syntax highlighting. I use gedit but you Windows sufferers would be after something like Notepad++.
Then, once you're fairly suave with lists and dictionaries and strings and loops and classes (if you are unsure about any of those things, keep tutorialing on), install Pygame. This gives you a whole buncha new methods for loading images, blitting them, controlling framerate with a timer, playing music etc. It comes with a multitude of examples, and (nearly) every game made in Python is source code, giving you plenty of reference material. (Python prides itself for enforcing readable source code).
As far as difficulty goes I wouldn't rate it more taxing than Blitz Plus. The two are different, as Python has a lot more in common with languages like Java and C++ as opposed to BASIC. Learn Python and you pick up and use OOP principles, so you actually LEARN SOMETHING!