I'd like to start learning programming.
Unless I've missed it, there's one important question everyone here seems to have missed asking
ex_matelot.
For what ?
What is your ultimate end goal ? Programming as in writing software for computers ? Programming as in web development ? Something else ?
Writing for embedded systems or for computers/servers ?
If in doubt... go C/C++.... always easier to start low and work your way to higher level scripting languages than the other way around.
However it's pointless, for example, learning C++, if all you want to really do is code dynamic websites properly.
If it's software for computers, then forget BASIC ... that's of limited use. Get your teeth into C/C++ and it will serve you well, as it's high-level enough to be comprehensible, whilst low-level enough to offer powerful features and be fast.
If web coding look at scripting languages such as Perl or PHP. I would suggest staying away from newer languages such as Ruby etc. as they are less mature and a bit fluffy.
Whichever language you choose, try to pick one that's Object Orientated (e.g. pick C++ over C) That will teach you to be disciplined in your programming and not just throw together spaghetti code.
Finally, whichever language you choose, make sure you learn correctly the first time round. Don't start with bad habits as they are hard to shake off... there's so much nasty spaghetti code out there. So stay away from, for example, those learn X in 7 / 21 whatever days books !