Como aprender un lenguaje de programación- Día 61

¿Cuál es la necesidad de aprender un lenguaje de programación? Ya existen las IAs Generativas, programar ahora es mediante las IAs.

Odio ese argumento, si detestas las IAs como yo, te voy a dar tips de como aprender un lenguaje de programacion. El porque es muy sencillo. Las IAs no saben lo que hacen solo te dan la respuesta mas probable.

¿Como algo que no conoce el dolor, puede expresarlo? esa frase me parece que es de Hayao Miyazaki pero no lo voy a buscar.

Salido ese temita. Las tecnicas para aprender un lenguaje de programacion.

  1. Repeticion: La verdad aprender cualquier tipo de lenguaje se basa en la repeticion, crear los caminos neuronales, para expresar ideas o cosas en sintaxis y semantica. Lo ideal es hacer muchos proyectos pequeños diariamente, hasta que no se olviden como escribir un For o Switch. (Siempre me pasa, cada que cambio de lenguajes, odio cada vez que me pasa)
  2. Entender los componentes: Todos los lenguajes de programacion y frameworks, tienen componentes fundamentales para el funcionamiento. El constructo mas basico siempre son las sentencias, luego vienen las estructuras de control, las funciones, librerias primarias. Para el lenguaje que buscan aprender, deben aprender estos fundamentos para que sea facil su lectura y escritura.
  3. Aprender los problemas tipo: Hay soluciones que se deben repetir, y hay componentes que proveen los lenguajes para reimplementar esas soluciones. Crear patrones, crear estructuras de distribucion, crear tareas programadas, conectar con servicios externos, conectar a bases de datos. Estas capacidades normalmente se abstraen en librerias, pero es bueno entender cuando queremos y cuando necesitamos de ellas.
  4. Aprender sobre la plataforma: Si bien el lenguaje de programacion es importante, es igual o mas importante aprender sobre la plataforma que se quiere trabajar. No es igual trabajar Web, que en dispositivos moviles, o dispositivos de escritorio, o agentes de IA. Y dentro de cada una de estas no es lo mismo usar Javascript, que Python, que PHP. Cada una tiene su estructura, es bueno especializarse en la que necesitan para su trabajo o proyecto.
  5. Aprender los fundamentos de computo: Complementando el punto anterior es bueno que entiendan como funciona el software, como funciona el sistema operativo, como la plataforma, como funcionan de forma agnostica. Hay limitaciones fisicas y tecnologicas que la tecnologia sufre, hay paradigmas y constructos que se repiten. Si logran tener el suficiente conocimiento general del funcionamiento, entonces no necesitan aprender cada detalle y cada configuracion de todo lo que utilizan. De hecho para los detalles especificos utilizar las IAs como motores de busqueda es sumamente poderoso. Incluso para buscar dentro de los manuales de plataforma. Porque ya saben lo que quieren, ahora necesitan encontrar como hacer eso, con sus correctas palabras tecnicas en la platafoma particular. Con algunos reintentos ya estarian.
  6. Entender el hardware y redes: Lo ultimo que es importante entender es como funciona el hardware y las redes. Cuales son los componentes a utilizar, creo escribir en el pasado previamente de todas las veces que he tenido que explicarle a lideres tecnicos que para acceder de A -> B entre 2 NSG de azure, necesitan al menos una regla de salida y una regla de entrada respectivamente. Y simplemente parecen no entenderlo, aveces quieren comunicacion bidireccional entre un AppService y una base de datos. ¿¿¿???
    Nota: Una base de datos, bajo muy pocos conceptos, debe ser el que inicia la comunicacion entre A -> B. Son casos muy especiales. Y lo que piensan las personas es que una vez iniciada la comunicacion entre A -> B, necesitas permitir que el receptor responda. (Lo cual es innecesario).

Con esos 7 puntos, repetidos de forma regular, y aprendiendo diferentes componentes segun necesidad, van a poder aprender cualquier lenguaje de programacion. E incluso lenguaje de señas.