Тот, который используется в твоём учебнике программирования для объяснения свойств алгоритмов.
А вот учить первым Python - прямой путь в говнокодеры.
P.S. Программирование - это не про написание кода, а про умение найти способ решения программисткой задачи. И знание любых языков программирования решать задачи не научит - как знание значков математических операций не научит решать уравнения.
можно java (Head First Изучаем Java, Брюс Эккель "Философия Java", Хортсман (Экккель устарел, но неплох для понимания, поэтому дополнительно надо современного Хортсмана или Шилдта), Роберт Лафоре "Алгоритмы и структуры Java", Роберт Сейджвик "Основы программирования на Java, ООП, алгоритмы и структуры данных".
язык си нужен по любому.
также неплохие книжки для общего развития:
"Современные операционные системы" Таненбаум.
"Компьютерные сети" Виктор и Наталья Олифер.
"Цифровая схемотехника и архитектура компьютера" Харрис.
"Архитектура компьютера" Таненбаум.
Паттерны проектирования (GoF).
вообще информации достойной для изучения полно.
Лучше наверно изучать язык на котором ты работать собрался, выучишь java и че с ней делать.