Sempre digo, se aprender a programar uma linguagem, em teoria aprende em todas, basta ter acesso ao dicionário de funções das bibliotecas (pacotes)... como sempre o primeiro passo é o mais dificil, que na minha humilde opinião seria: desenvolver o raciocinio lógico...
e varios sites de cursos vai ensinar, nao so a programar, mas tambem ver a diferença entres os programadores, e ajudar a montar seu estilo....