@wu_wei Depende, ¿quieres empezar a programar bien o quieres empezar a programar rápido? Si quieres ser rápido y práctico pero no necesitas ser especialmente decente, tira de Python(*) o Ruby directamente. Si quieres hacerlo bien, empieza por un lenguaje procedural sencillo (Ada, por ejemplo). Tiene muy poco uso fuera del ámbito académico, pero para aprender conceptos es de lo mejor.
Una opción intermedia es ir por Java. Es muy práctico y útil pero a la vez suficientemente rígido para ir aprendiendo conceptos.
Sinceramente, si es sólo por afición vete a lo más práctico (php), de lo contrario te aburrirás muchísimo hasta que empiece lo interesante.
(*) Ojo, no critico el lenguaje, que me parece maravilloso, sólo digo que no es buen lenguaje para quien aún no sabe nada de programación porque la calidad del código será horrible.
#7 te he votado positivo por error, evidentemente.