C++ Is the best of them.
Anyways, Low level programming is not really required and compared with Object orientd programming or Agent Oriented programming it is limiting and should only be used when you need to use it (As in making things that manipulate hardware or when writting OS) but most likelly I would recomend C++ or JAVA for programs since Object oriented programming is nice.
Delphi is a good choice for starters, I must accept I actually make stuff in delphi instead of C++ , also Delphi allows you to insert ASM code