Skip to content

Instantly share code, notes, and snippets.

@igorparrabastias
Last active December 27, 2022 09:20
Show Gist options
  • Save igorparrabastias/c3d55ce7ae60eec120b6e299b1f4d36b to your computer and use it in GitHub Desktop.
Save igorparrabastias/c3d55ce7ae60eec120b6e299b1f4d36b to your computer and use it in GitHub Desktop.
Aprender programación como autodidacta

Para una conocimiento bastante aceptable en modo autodidacta, recomiendo:

Lenguajes:

Hay cientos de lenguajes en uso hoy en día.
Personalmente propongo conocer estos 4 lenguajes si se quiere ir en serio.
Aunque basta con python y javascript para trabajar. También están PHP y ruby, pero phyton es mejor que php y elixir es mejor que ruby, creo yo. No vale la pena perder tiempo en ellos, si se quiere empezar bien.
Si se quiere sólo entretención: rust. Abarca desde programación de bajo nivel, es decir a nivel de máquina, hasta sistemas complejos, es como trabajar con los fierros pelados.

Algunas lineas de desarrollo son:

  • juegos: pacman, space invaders :) y league of legends?
  • sistemas operativos, computadores embebidos, internet de las cosas (sensores y actuadores)
  • web: aplicaciones web, redes sociales
  • ia: sistemas expertos (solucionar problemas diversos), deep learning (reconocimiento de imágenes, de lenguaje hablado)

Debe gustar:

  • Pensar en abstracciones de la realidad: Esto es modelar problemas mentalmente. Analizarlos, des-estructurarlo en partes, ordenarlas, encontrar los datos relevantes y estructurarlos según las posibilidades del lenguaje. Etc.
  • Diagramas UML (de flujo, de clases, de relaciones)
  • Maniobrar con estructuras de datos

Música:

Peliculas

  • Tron

Editores:

Sistema operativo:

Linux de preferencia pero cualquiera sirve.

Otros

  • Bases de datos:
    • relacionales (mysql, postgres) buenas para datos relacionados en fila y columnas
    • noSql (basado de documentos: mongodb, couchdb) buenas para big data y redes sociales
    • redis: base de datos en memoria para rápido despliegue
  • Sistemas distribuidos:
    • colas de trabajo
    • publicador/suscriptor
  • Administración de código
    • git

Tener claro

Se necesitas madurez mental, responsabilidad y disciplina.
Mínimo un año de auto aprendizaje constante. Como si fuera un trabajo.

Aprendizaje:

He buscado unos cursos online, que hay muchos. Y este me gustó mucho. Es corto y conciso, esta perfecto para comenzar y ver de que va todo esto. Si no te gusta lo que veas ahí, no vale la pena seguir adelante, ya que toca los básicos: variables, estructuras de datos, estructuras de control. Todos los lenguajes comparten esos conceptos básicos.

Recomiendo el que está en inglés, porque entrega mas contexto, pero ambos enseñan básicamente los mismo.
Inglés: https://www.coursera.org/learn/python
Español: https://www.coursera.org/learn/aprendiendo-programar-python

Hay varios tipos de sitios web que ayudan en el autoaprendizaje mediante juegos, desafíos o katas, pero se necesita saber programar primero, así que no usarlos todavía.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment