Interesting discussion. Personal opinion?
To start off with, BASIC isn't a bad way to go at all. It really covers the 'basics' of programming and will get you started with logical operators in a more user-friendly way. Once you get your head around it, you can move onto something better, like C++
Generally, I'd say the final answer is C++
C++ can do anything, it's extremely powerful and memory-efficient. It's object-oriented and you have access to the largest libraries of routines, dll's, anything. You name it. It's massive.
Don't even bother with C. That's yesterday's spaghetti-code world. Object-oriented modular programming has long taken over the world of efficient programming.
Only problem with C++ is indeed the pointers. People here say are they good or bad? Well, they can indeed be very very useful and make programs work very efficient - BUT:
1. If you don't know what you're pointing at, or pointing at an address another program is already using, you can point at the wrong address content and make your computer crash. - And possibly never find the bug. Even Windows programmers apparently do this (blue screens : fatal exception error on address X@!%$# - You know it! A lot of that is pointer disasters)
2. Pointers mean no portability. Since pointers are designed to specifically point at certain memory addresses, they will not be the same on a WIN, G4, Solaris, UNIX / Linux machine.
The solution to come by the pointer problem is JAVA. Because JAVA runs on a virtual machine, it doesn't have the pointer problems (and doesn't use 'pointers', anyway). Therefore, JAVA is at least theoretically a more stable and certainly more portable (the virtual machines work on any platform, the code is just portable). Of course the lack of pointers also makes it easier for newbies to learn. Further advantage of JAVA is that it really is very hard to crash your computer using it. In fact, it should theoretically be impossible. Nevertheless, I have seen computers crash running a virtual machine. It's a strange world.
So, really, my conclusion would be BASIC, C++ / JAVA.
If it was me, personally I'd skip BASIC and go straight to the proper languages. BASIC is ugly, slow and cumbersome.
Just my 5 cents. Not that I have any idea what I'm talking about.
~Scientist