Начните с дискретной математики, полистайте книги по алгоритмам, попробуйте реализовать эти алгоритмы на псевдокоде. А вот когда хоть немного поймете в чем суть работы программиста, тогда и зададите себе вопрос "Какой бы инструмент использовать для ИМЕННО ЭТОЙ ЗАДАЧИ?" Синтаксис практически любого популярного языка учится за пару недель (тупой процесс запоминания новых слов и порядка их употребления) и книги из серии "За 24 часа" не обманывают, дело в том, что они обещают познакомить с базовыми особенностями языка и знакомят с ними. Но всем же хочется стать супер крутыми программистами, а после этих книг чудо не случается, и горе программисты непонимая как же так вышло, начинают поиск очередно метода "Как за 24 минуты стать Джобсом ))" Учите основы специальности, а нужные инструменты найдуться сами. Думаю, что хороший ведущий разраб с огромной радостью примет в свою команду джуниора, который даст отличный обоснованный ответ и напишет решение на псевдокоде. Главное поймите, что язык не так важен! Удачи =)