Lenguaje de programación: Cómo aprender uno nuevo rápidamente
Una lista de verificación esencial de los fundamentos para aprender un nuevo lenguaje de programación.
Este artículo asume que ya conoce al menos un lenguaje de programación; sin embargo, los conceptos aquí le ayudarán a comenzar con la programación.
Dicen que: el lenguaje de programación más difícil que aprenderá será el segundo.
No permita que esto sea desalentador: significa que cuando aprende a programar por primera vez, tiene todas estas ideas preconcebidas sobre la programación. Termina haciendo más conexiones de sintaxis y suposiciones de las que debería. Debido a esto, debe “desaprender” estas suposiciones cuando aprenda su segundo idioma. Trate de tener esto en cuenta si está intentando aprender su segundo idioma o incluso el tercero.
Anatomía de la programación
Hay muchos lenguajes de programación, fácilmente más de 5000, pero el índice TIOBE enumera los 250 principales. Todos los 20 lenguajes principales que no son casos únicos tendrán bibliotecas estándar similares.
Creo que la mejor forma de pensar en la programación es eliminar todas las “cosas” adicionales para que te quedes solo con lo necesario.
Los átomos
Cada aspecto de cada idioma se puede reducir a verdadero y falso. ¿Por qué? Porque la electricidad funciona de esta manera: o tiene un cargo o no. La memoria almacena valores en forma de 0 y 1, y este bit se carga o no.
Ocho bits equivalen a un byte, que es suficiente para enumerar cualquier carácter en la tabla ASCII. Los bits se invierten en tal orden que proporciona la representación DECimal del carácter. La computadora entiende cómo traducir esta representación en una letra.
Tener una comprensión de este concepto, “el por qué”, hará que el resto de esto sea mucho más fácil para usted.
Las herramientas
Las herramientas son todas iguales y, aunque se pueden aprender en cualquier orden, este es el orden que suelo seguir.
Variables
Esto parece bastante simple, pero en serio, ¿cómo se crea una variable?
Operadores
¿Qué son los operadores y cómo se utilizan? Puede asumir que tiene operadores matemáticos básicos, pero ¿qué pasa con los operadores lógicos? ¿Un operador “Y” se escribe como “y” o “Y”, o utiliza símbolos como “&&?”
Condicionales
Sorprendentemente, mis artículos más leídos tanto para Swift como para Python tienen que ver con la toma de decisiones. Lo siguiente que debe saber es cómo puede tomar decisiones en su programa. ¿El lenguaje que está tratando de aprender usa el tradicional “if / else if / else” o algo más pitónico como “if / elif / else?” ¿Su idioma tiene una declaración de “switch” o “guard“?
Bucles
¿Cómo puedes recorrer tareas repetitivas? ¿El lenguaje contiene bucles for, bucles while, bucles do while o declaraciones for each?
Funciones
¿Es posible crear funciones? Si es así, como lo haces? ¿Cómo se incluyen los parámetros en estas funciones? Saber cómo utilizar correctamente las funciones le ahorrará tiempo y le hará la vida mucho más fácil.
Clases y estructuras
¿Este lenguaje comprende el concepto de clases o estructuras? Parece una pregunta tonta, pero algunos idiomas no tienen ninguno o solo tienen uno. Si es así, ¿cómo se crea una clase o estructura? ¿La clase requiere un constructor o un método init?
Manejo de errores
Los errores son inevitables. Cuando ocurren, ¿este lenguaje tiene una solución sólida para el manejo de errores y cómo se usa? ¿Es “try / catch“, “try / except” o algo más? ¿Hay otras cláusulas como “else” o “finally” que permitan otras opciones para errores?
Pruebas
¿Cómo prueba su código? ¿Hay una biblioteca incorporada para realizar pruebas o tiene que descargar una herramienta separada?
Todas estas herramientas deben estar en la mayoría de los lenguajes de programación modernos. Incluso los lenguajes más antiguos, como COBOL, tienen la mayoría de estos, pero pueden llamarse de otra manera, como párrafos o cuadernos.
Hacerse bueno(a)
Una vez que comprenda estas herramientas, lo siguiente que debe hacer es usarlas y escribir una aplicación. Puede conocer un idioma leyendo los documentos, pero no lo conocerá hasta que haya escrito algunas aplicaciones con él.
Al escribir una aplicación, se ve obligado a pensar como un programador X. Puedo decir que sé C ++ porque tomé una clase en C y leí los documentos en C ++, pero realmente no lo sé hasta que escribí una aplicación en C ++ usando características específicas del lenguaje.
Un buen proyecto de inicio es el Blackjack. El blackjack requiere variables, operadores, condicionales, bucles (según el número de jugadores), funciones, clases / estructuras y manejo de errores. Puede incluir casos de prueba para posibles fallas, como quedarse sin tarjetas.
Otros buenos proyectos iniciales pueden incluir Chutes and Ladders, Yahtzee o una máquina tragamonedas.
Para algo más avanzado, intente recrear un juego como Monopoly. Preocúpese más por la mecánica y manténgalo basado en texto.
Es clave recordar que si se reduce la dificultad de la tarea (como omitir las funciones de doblar o dividir del blackjack), solo está limitando su comprensión del idioma.
¿Qué más?
Sé que la lista de cosas anterior no es todo lo que un idioma tiene para ofrecer. La verdad es que puede escribir casi cualquier cosa con las herramientas enumeradas anteriormente, pero la funcionalidad adicional incluida en las bibliotecas estándar simplemente lo hace más fácil. La mayoría de las bibliotecas estándar incluyen las mismas funciones, por lo que puede confiar en nombres similares entre idiomas.
Cuanto más trabaje con un idioma, más podrá descubrir sobre la biblioteca estándar, pero asegúrese de aprender las herramientas de antemano.
Mientras trabaja con un idioma, trate de averiguar cuáles son sus fortalezas y debilidades. Estos le ayudarán a comprender qué idioma utilizar para un problema en particular.
¿Necesita hacer ciencia de datos rápidamente? Mire algunos paquetes de Python o R. ¿Necesita escribir un servicio rápido? Mire a C o Go. ¿Qué tal un servidor web? Mire a Java o Python.
No lo supe simplemente mirando los idiomas. Aprendí esto usando estos lenguajes.
Dado que este es posiblemente mi artículo más corto hasta la fecha, te dejaré con un desafío para aprender un nuevo idioma. ¡Buena suerte!