🧑🏻💻 Como aprender a programar en 2023
Esto es un guía, paso a paso y tema por tema, para aprender a programar páginas web o aplicaciones móviles. Cada sección es un tema que tenés que aprender, con links a diferentes recursos, en el orden que tenés que aprenderlos.
Vas a ver que, por tema, yo te voy a dejar uno o dos recursos. Puede que sea, o no, suficiente. Va a quedar en vos practicarlo o repasarlo hasta entenderlo.
Igual, no hace falta que seas experto en, por ejemplo, la sección 2, para pasar a las 2. Dado que lo vas a seguir utilizando y mejorando. Pero si vas a necesitar mínimo haberlo entendido.
Introducción
Antes de comenzar, sé que vos, si, vos, crees que las matemáticas son una limitante para aprender a programar. Déjame mostrarte, a modo de introducción, toda la matemática que vas a necesitar:
Supongamos que a es igual 3, y que b es igual a 7
O, expresado en código:
const a = 3;
const b = 7;
¿Cuánto es a + b?
Si tu respuesta fue 20, felicitaciones, puedes seguir.
La respuesta fue otra? Estás complicadísimo, pero igual te recomiendo continuar ;)
Sección 2/5: Programación orientada a objetos
Probablemente, lo primero que me preguntes es con qué lenguaje empezar. Eso no importa, al menos por ahora, lo importante es que sepas que hay distintos paradigmas dentro de la programación. Y el más utilizado, y único que necesitas por ahora, es el de Programación Orientada a Objetos (POO).
¿Qué es? Queda para otro artículo.
¿Dónde aprendo?
Para, emoción, antes de arrancar te dejo el mejor curso de programación básica gratuito que existe. Hace la primera sección (Si, solo la primera) y volvé. Acabas a aprender a instalar un editor de código y un par de cosas más que te van a servir para seguir.
Ahora, si, volviendo a POO, hay una ola de contenido valioso dando vueltas en internet, a mí me gusto mucho el curso de programación orientada a objetos de Platzi.
Pero si no tienes suscripción a la plataforma (No recomiendo gastar plata en cursos, al menos no al principio), podés explorar dentro de la marea de videos en YouTube (como este video de SoyDalto) o tutoriales en internet, lo importante es que lo practiques hasta entenderlo, no (tanto) el contenido que consumas.
En cuanto al lenguaje, el cual ya les dije que no importaba (vas a usar muchos a lo largo de tu carrera como programadores), Platzi en el curso usa Javascript, el cual es el más usado del planeta a día de hoy y es bueno para arrancar. Pero si el curso o video que hayas visto usa otro, está perfecto.
Sección 2/5: Backend y Frontend
Es muy normal que creamos que, cuando tocamos un botón en una web, este envía información (o la borra, o la actualiza) a una base de datos
Cuando, por ejemplo, al registrarse en una red social, la página en la que estás escribiendo envía una petición con la información respectiva al backend de dicha red social.
Este backend no es más que un servidor con código que procesa y valida la información enviada, y te devuelve un error o actualiza la base de datos, depende la situación.
Por ejemplo, en el caso del registro, valida el correo electrónico y la contraseña, te devuelve un error detallado en caso de mail o contraseña incorrecta, o te autoriza si está todo bien.
¿Por qué explico esto? Porque vos podrías, tranquilamente, aprender a programar en backend y no programar nunca una página web, aplicación para celular, o cualquier otra interfaz.
Pero bueno, como yo nunca trabaje haciendo eso, si no que hasta el día de hoy me desenvuelvo como programador frontend (Incluso programando la página en la que estás leyendo esto), voy a explicarles como aprender a hacer exactamente eso, pero quería que sepan que existen otras cosas.
PD: Si aprendes a hacer frontend, y te das cuenta con el tiempo que preferías lo otro, no pasa nada. Lo que hayas aprendido te sirve para comenzar en backend. También con el tiempo vas a notar que los programadores con más experiencia, además de estar especializados en una de las dos cosas, saben un poco de todo.
Sección 3/5: HTML, CSS, Javascript
Ahora si, como arrancar tu carrera como desarrollador frontend.
Primero que nada, tenés que aprender HTML, CSS y Javascript, estas tres cosas son el pilar del desarrollo web a nivel mundial, no se utiliza otra cosa.
Para eso, vas a volver al curso gratuito de programación básica de Platzi. Y hacer las secciones 2 y 3. Termina y seguimos :)
Sección 4/5: React
Una vez que aprendiste HTML, CSS y Javascript. Probablemente, te des cuenta (o no) qué hay muchísimas cosas a resolver o tener en cuenta, sobre todo temas de optimización, que se encuentran en todas las páginas web/aplicaciones y probablemente ya alguien haya resuelto.
Y exactamente, alguien ya lo resolvió, por eso existen los frameworks, que son un marco de trabajo que facilita la solución de problemas que pueden surgir al programar.
El más conocido, utilizado, y por ende demandado a día de hoy, es React. El cual tiene miles de contribuidores open source en todo el mundo (Ósea, React es gratis, el código que lo compone es público, y miles programadores en todo el mundo contribuyen a mejorarlo).
El mejor curso de React que vi hasta hoy es el de Fernando Herrera. El cual es pago, pero podés esperar a las ofertas de Udemy que lo dejan a 20usd (Precio a mi entender razonablemente accesible).
Si no quieren gastar, cosa que banco, sepan que van a encontrar videos, tutoriales, cursos gratis en YouTube y demás. La comunidad de programadores está muy desarrollada, sobre todo en React, así que busca los más vistos y mándale.
Como siempre, lo más importante no son los tutoriales que leas, ni los cursos que mires, sino que después lo apliques. Proponente hacer algún mini proyecto personal para poder presentar, la mayoría de cursos incluyen uno, pero hace algo sin la ayuda de nadie, esto hará que te enfrentes a problemas y desafíos a los cuales no te enfrentarías de otra forma.
Fun fact: yo aprendí a programar creando Basq Tech y CDP APP (pueden chequear que ambas apps son malísimas)
Sección 5/5: Next.js
Programando en React te vas a encontrar con el mismo problema que al iniciar la sección anterior, muchísimas cosas a resolver o tener en cuenta, que se encuentran en todas las páginas web/aplicaciones y probablemente ya alguien haya resuelto.
Y sí, hay un framework para React. Se trata de NextJs.
Parece promoción, pero es premio al buen laburo, el curso de Fernando Herrera es el mejor acá (Vale bastante, esperen las ofertas de Udemy que lo deja en 20usd).
Si no quieren gastar, cose que de nuevo, banco, mismas recomendaciones les di al final del articulo anterior.
Conclusión
Bueno, en realidad no hay ninguna conclusión. Pero gracias por leer hasta acá.
Cualquier feedback, recomendación o duda que tengan, sientanse libres de escribirme por Twitter o a hola@tomasholtz.com.
Abrazo, Holtz 🫡