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