Pues en mi opinión, todos los que han dicho, "empieza por el lenguaje XXX", se equivocan.
Los lenguajes de programación, se crean para permitir crear programas, según determinados paradigmas.
Está el paradima de la programación estructurada, en la que se basan lenguajes que te permiten escribir programas de forma estructurada, como C, Pascal, Fortran,....
Está el paradigma la programación funcional, en la que se basan los lenguajes para hacer programación funcional como Haskell.
La programación orientada a objetos, en la que se basan lenguajes como Java o C#
Luego tienes lenguajes multiparadigma, como C++, que permite programación estructurada, programación genérica, o programación orientada a objetos.
Aprender un lenguaje, sin aprender las bases del tipo de programación que vas a usar, solo te servirá para escribir código chapucero y de mala calidad.
Sin embargo si lo que aprendes es como utilizar un determinado paradigma de programación para resolver problemas, luego para aprender a usar un lenguaje, solo tienes que aprender los detalles de como se implementa cada cosa en ese lenguaje determinado.
Si entiendes para que sierve un bucle, y como y cuando debes usarlo, te da igual que se escriba
While
End While
o
while()
{
}
o
begin
end