Если ты читаешь английский (если нет, то посторайся дойти до уровня свободного чтения тех. литературы --- и выбор больше, и глупые переводчики не бродили и появляются быстрее, но это оффтопик) то пойди на сайт:
http://www.mindview.net/Books/ там есть
--- Thinking in C++, Second Edition (Volumes 1 & 2)
--- Thinking in Java, 3rd Edition
Выбери любую и учись ___программировать___ (я это повторяю как Карфаген дложен быть рарушен).
Довольно вредно заниматься слишком долго мелким школярством (появляются нехорошие привычки) а надо учиться думать правильно, чтобы это было применимо для систем и групп побольше... тогда твоя цена как программера сильно возрастет... А язык (C++, Java и пр) на той стадии пока у тебя нет пары лет активного опыта сильно вторичен: программирование есть метод изложения мыслей: научисть приводить их в порядок, остальное "все приложется"...