Однозначно С - лучший ЯП для старта; после него понимание остальных ныне существующих ЯПов становиться гораздо проще. Те же, которые имеют не статичную типизацию на данном этапе могут стать твоими врагами в будущем при изучении того же С. Насчет книг: я не стану советовать никакой конкретной литературы по языку, ибо согласен с ответом выше - в программировании важно именно построение алгоритма и подходы к решению задач - остальное уже тонкости и ограничения самого языка.
Программисты больше не нужны, все программы, которые можно было давно уже создали. Сейчас программисты нужны только для создания искусственного интеллекта, и то всего пару тысяч человек. Да в военной сфере для программирования под операционные системы реального времени.
Прежде всего следует изучать программирование. Потому как язык - всего лишь инструмент, которым ты записываешь найденное решение. И никакое знание языков не может научить поиску этих решений. А язык будет тем, который используется в учебнике программирования для объяснения алгоритмов. Нет, С - далеко не лучший выбор для начала обучения. Хотя, конечно, намного лучший, чем JavaScript или C++. P.S. Вирт, "Алгоритмы и структуры данных", последнее издание.