Tens várias hipóteses, que deves escolher consoante o teu entusiasmo, capacidade de aprendizagem e "endurance" psicológica:
1- Escolhes uma linguagem de alto nível, que é: fácil de aprender, facilita a construcção de programas mais complexos, tem suporte para tratamento de erros (facilita a programação, e poupa muitas horas de insanidade).
2- Escolhes uma linguagem de baixo nível, que é: menos fácil de aprender, mais complicada para construir programas complexos, mais difícil para resolver "bugs".
Se escolheres a opção 1 vais ter uma introdução mais suave ao mundo da programação, transitando fácilmente entre linguagens de alto nível. No entanto, terás que aprender algumas coisas em "baixo nível", como gestão de memória, se quiseres usar uma linguagem de baixo nível.
Na opção 2, vais andar muito tempo a remoer a mioleira, a arrancar cabelos, e a gritar com o computador. O lado bom é que se consegues aprender uma linguagem de baixo nível, todas as outras são "canja"
Recomendo que experimentes primeiro as linguagens mais comuns, já que estas têm mais suporte, e terás as tuas dúvidas satisfeitas mais rápidamente.
Eu comecei por haskell (que não me serviu de grande coisa, até hoje), tive Java, e passei depois para C. Aprendi PHP e C# fácilmente.
Recomendo que experimentes Java (tens o NetBeans, um IDE grátis, muito bom) ou C# (tens o Visual Studio Express grátis no site da Microsoft).
C, como já foi dito, é mais complicado e deve ser "evitado" até teres maior domínio nas outras linguagens.
IMHO, claro
Boa sorte