Creo que lo recomendó ya alguien por aquí:
"Aprenda a programar como si estuviera en primero"
http://www.tutoriales.com/?p=1461
Esta muy bien para pillar los conceptos básicos de programación, sobretodo no mete demasiada "paja" y condensa en menos de 70 páginas mucha información.
En cuanto al lenguaje... Ruby no lo conozco mucho, la sintaxis y poco más (me parece limpia e intuitiva). Creo que prácticamente cualquier lenguaje medianamente popular (C, C++, Python, Ruby, Php, Java...) te va a servir para aprender programación estructurada... luego ya te podrás liar con los objetos
Al final el lenguaje es una herramienta, dependiendo de lo que vayas a programar a veces es mejor usar uno u otro, pero teniendo la base no es excesivamente complicado aprender nuevos lenguajes.
Marcadores