En este post describiré algunos detalles un tanto específicos sobre cómo aprendí a programar.
Resulta que la historia de cómo decidí aprender a programar, mis motivos y cómo cambió mi forma de pensar y el uso que le di a esto es bastante interesante. De hecho, me gustaría escribir al respecto en algún momento, porque creo que puede ser entretenido. Sin embargo ahora intentaré ser un poco más preciso y simplemente contaré mi experiencia de cómo aprendía a programar y brindaré recursos para los que quieran aprender también.
HTML y CSS
HTML y CSS no son lenguajes de programación en sí, por lo que tal vez no deberían estar en este post. Los coloco aquí porque me introdujeron algunas ideas de programación. Comprenderlos significó entender que la computadora puede interpretar algunas cosas que escribimos nosotros, los humanos, para generar cosas como páginas web o flashcards.
¿Flashcards?
¿Flashcards? Se estarán preguntando. Resulta que los inicios de mi aprendizaje de HTML y CSS fueron en el programa Anki, un programa de flashcards (programa al que le dedico bastante contenido, ver este post introductorio).
Lo que sucede es que en Anki se pueden diseñar las flashcards mediante la utilización de HTML y CSS. Es decir, poder usar HTML tags y CSS selectos para manipular las características de mis flashcards (ej. tamaño de letra, alineación, colores) era algo que me resultaba interesante, divertido y algo a lo que le dediqué tiempo para aprender. Incluso realicé varios tutoriales al respecto (aquí tengo un post sobre el tema).
Además, Anki tiene algunas cosas propias adicionales, como el uso de condicionales. Todo esto hizo que me llamara la atención diseñar cosas con la computadora.
Sentía como si hablara con la computadora. Yo le daba indicaciones y ella me obedecía. Nunca se equivocaba, si ocurría algo que no esperaba era mi error, no el suyo.
Si bien algunos no considerarían usar HTML o CSS como programar, muchos de los sentimientos que tenía al hacer cosas con ellos también los tuve cuando utilicé lenguajes de programación como R y Python.
¿Cómo aprender?
No es broma, si usan Anki, el programa es un buen lugar para aprender. Se puede utilizar para probar algunas cosas y de paso le agarran cariño al programa.
La parte teórica puede aprenderse de W3Schools, que cuenta con un tutorial de HTML y otro de CSS. También contiene recursos interactivos donde uno puede probar algunas cosas por su cuenta, yo aprendí muchas cosas por ahí y lo recomiendo.
R
Mi objetivo de aprender a usar R fue hacer estadísticas inicialmente. Recuerdo que en mi mente esperaba que fuera algo similar a Excel y fue un choque tremendo para mí descubrir que no se parecía en nada. Al comienzo me resulto todo muy complejo e incomprensible, pero poco a poco las cosas comenzaron a adquirir cierto sentido y finalmente terminé completamente maravillado por las cosas que era capaz de hacer con muy pocos conocimientos y con muy poco código.
Realmente se me hacía raro hacer cosas tan complejas de una forma tan sencilla. Por el lado de la estadística, las cosas eran incluso más locas. Se podían realizar pruebas muy complejas simplemente con una función, utilizando una palabra y colocando los argumentos.
Descubrir el canal de YouTube MarinStatsLectures fue absolutamente increíble para mí. Lo descubrí cuando ya había aprendido cosas básicas de R y quería aprender estadística.
El hecho de que enseñara estadística usando R y con ejemplos centrados en el área de medicina hizo que se sintiera como un regalo divino destinado para mí.
Posteriormente seguí un curso de análisis de datos y también leí un libro disponible abiertamente en internet llamado “R for Data Science” que enseña como realizar manejo y análisis de datos en R utilizando paquetes que conforman lo que se conoce como “tidyverse“.
Después de todo eso aprendí algunas cosas más, como hacer aplicaciones web con el paquete ‘shiny’, obtener información de internet de forma automatizada usando el paquete ‘rvest’, obtener información de APIs, crear mis propios paquetes de R, entre muchas otras cosas más.
¿Cómo aprender?
Me encantó cómo aprendí R, se sintió como una aventura. No tenía idea de qué trataba, no sabía que esperar, ni sabía de qué trataba un lenguaje de programación. Todo aquello que aprendía era completamente novedoso e interesante para mí. Sin embargo, si alguno no quiere gastar mucho tiempo aprendiendo, el camino que tomé no es el más adecuado, probablemente.
Si tuviera que aprender de nuevo y no quisiera gastar mucho tiempo, primero comenzaría aprendiendo lo básico de R. Para esto recomendaría mi propia playlist en YouTube: Tutorial básico de R / Programación básica en R. Diría que es mi mejor playlist, estoy bastante orgulloso de ella, a pesar de que sea una de las que menos vistas tiene. Creé la playlist como para que la viera mi hermano menor y aprendiera a programar.
Aprendiendo lo básico ya se pueden hacer muchas cosas y con la práctica, y leyendo las ayudas de las funciones o buscando en internet, se puede llegar a programar cosas simples y útiles. Para aprender aspectos más avanzados del lenguaje de programación yo leí el libro “Advanced R“, libro que recomiendo si se quiere profundizar más. Sin embargo, R gira alrededor de la estadística y el manejo de datos, es su fuerte, por lo que suele ser natural que uno continúe su proceso de aprendizaje en esas áreas.
Estadística y manejo de datos
Para aprender R específicamente para estadística y manejo de datos realizaría dos cosas que pueden hacerse simultáneamente o una después de otra (no importa mucho el orden):
- Aprender estadística con los videos del canal de YouTube MarinStatsLectures
- Leer el libro R for Data Science o su versión en español
Después de esto aprendería a usar algunos paquetes con mayor profundidad, como ‘ggplot2’, ‘shiny’, ‘rvest’, entre otros. Existen diversos recursos en internet, como algunos libros muy buenos de algunos paquetes.
Python
Después de aprender R me animé a aprender Python. Debo decir que no fue tan difícil, me demoré mucho menos, unas semanas para dominar lo básico. Debo decir que ya esperaba muchas cosas debido a que ya entendía lo que era un lenguaje de programación por lo que había experimentado con R, así que la sensación de aventura no fue la misma, pero sin duda me divertí muchísimo. Me gusta programar.
Lo que sucedió con Python es que en todo momento fui bastante superior usando R y me resultaba más sencillo hacer cosas en R. De hecho, diría que es, en general, más sencillo hacer manejo de datos y estadística en R.
Esto hizo que no tuviera tantos incentivos que me empujaran a dominar Python con mayor profundidad, así que simplemente he hecho proyectos ocasionales en Python. Proyectos que eran más como retos, ya que podría haberlos hecho de forma más sencilla con R.
¿Cómo aprender?
Para aprender Python diría que el mejor lugar es el manual oficial de Python o su versión en español. Tiene lo básico de forma comprensible, completa y actualizada.
Posteriormente, uno ya puede aprender las distintas librerías y módulos que existen para realizar prácticamente lo que sea. En mi caso, que seguí el camino del manejo y análisis de datos, y la estadística, aprender la librería ‘pandas’ usando la guía de uso sería un gran segundo paso. Posteriormente ya se podrían aprender otras librerías como algunas para realizar gráficos, por ejemplo: ‘Matplotlib‘ y ‘seaborn‘.
Pingback: Semanario 2022-08-22 - DaniMedi
Comments are closed.