No creo que los audiolibros te ayuden a aprender a codificar más de lo que te ayudarán a pintar. Tienes que ponerte las manos encima.
En general, hay dos aspectos para escribir un programa. Uno involucra técnicas específicas como leer archivos, controlar conexiones HTTP y trabajar con bases de datos. Esencialmente, hay API para estas cosas. Por supuesto, hay mucho que aprender allí y muchas técnicas y patrones de diseño interesantes giran en torno a estas cosas, pero cada idioma y plataforma tiene sus propios modismos y los aprendes. Por ejemplo, en PHP y Nodejs no te preocupas por los hilos. En la JVM, tienes muchas opciones y debes elegir. Para Python, creo que tendrás una opción de marcos que manejarán muchos detalles por ti.
La otra parte es la parte de información. Se trata de estructuras de datos y algoritmos. En una aplicación web típica, esto es lo que sucede entre la obtención de la solicitud HTTP y la generación de la respuesta. Cuando estaba empezando (enseñándome a mí mismo, ya que no era un estudiante de CS) me corté los dientes escribiendo programas para resolver acertijos. La revista Games fue una fuente rica de estos. Son ejercicios excelentes, cortos y verificables en estructuras de datos y algoritmos. Descubrí que la codificación funciona mejor cuando tienes un objetivo específico.
Python es, creo, un lenguaje muy popular entre los departamentos de CS para la introducción a los estudiantes de primer año. Eso parece reivindicar su elección. También tiene un buen mercado, AFIK. Mi mejor conjetura es que debes ir a Python 3 e ignorar el Python 2 no compatible con versiones anteriores.
- Cómo mantenerse enfocado en un proyecto personal y evitar la dilación.
- ¿Cómo un estudiante de doctorado desarrolla simultáneamente habilidades de investigación y habilidades de trabajo práctico?
- Cómo salir del hábito de masturbarse para dormir.
- Adictos a las drogas: ¿Cómo cambiaste tu vida?
- Cómo aprender a estar agradecido con lo que tengo.
Otra buena opción es Javascript, ya que puede usarlo tanto en el lado del cliente como del servidor en el servidor web.
FWIW, yo uso Scala.