Изучать следует начинать с языка со статической типизаций.
В частости С подходит по этому критерию.
Плюс в изучении С - много литературы и пр. информации.
Минусы - будете не только язык изучать, а еще и со стандартами и их разной кривости реализациями бороться. То, что работает в реализации Clang на Linux не будет работать в реализации MSVC на Windows и в реализации GCC на FreeBSD. Оно вам надо?
Плюс в С легко отстрелить себе ногу.
Плюс реальная польза от Си - это только в слабых микроконтроллерах (мощные модели вполне способны и целые операционные системы запуска), да в написании операционных систем. В других областях или давно перешли или переходят на другие языки.
Я бы предложил Go.
Статическая типизация.
Мощь и простота в одном флаконе.
Жесткий стандарт - разные версии на разных ОС комилируются запросто.
Скриптовые динамические языки - PHP, JavaScript, Python, Ruby, Perl, Lua - плохо для начинающего. Прививает нехорошее отношение к переменным.
Rust, D, Java, Dart - слишком много концепций, не будете знать на чем сосредоточить внимание.
Haskell, Erlang - функциональные концепции, далеко оторванные от массового программирования, которое в большинстве своем императивное.