Sou formado em Engenharia da Computação e trabalho mais de 4 anos com desenvolvimento embarcado, geralmente em C ou C++, então vou dar meu pitaco nessa área.
C, como já disseram, é considerada a melhor linguagem para se aprender a programar. A maior diferença entre C e as outras, é que com C você precisa entender como funciona a memória do seu dispositivo, seja um computador com 16 GB de ram, ou um PIC com meros 8 KB. Linguagens de "alto" nível você sai alocando variáveis, objetos, recursos e não se importa com o tanto de ram necessária pra rodar, chegando até a gastar mais ram em prol da legibilidade do código (criando diversas variaveis com nomes diferentes só pra entender o que está acontecendo ao invés de reutilizar variável), coisa que em sistemas embarcados tudo é feito em prol da performance.
Eu não sei até onde vai o seu interesse e a profundidae em querer entender como realmente funcionam as coisas, mas não tem como você entender nada profundamente sem ao mesmo aprender Arquitetura de Computadores, essencial quando se programa em C.
Se você gosta de dispositivos, um pouco de eletrônica, e tem vontade de criar um projetinho maker seu, sugiro aproveitar o embalo do C e brincar um pouco com ESP32, um microcontrolador super barato com Bluetooth, Wi-Fi, acesso à Alexa, podendo automatizar qualquer coisa em sua casa. Você vai aprender C (ou C++), um pouco de hardware, alocação de memória, ponteiros, tarefas concorrentes (famoso threads, aliás, sistemas embarcados usam muito o FreeRTOS), e no fim, ainda vai ter um projeto físico seu funcionando.
Agora, se você não quer saber de hardware nem nada e pretende focar apenas em dispositivos desktop (raspberry é desktop), se atraca num linux da vida.
Boa sorte nos estudos e nunca desista.