IA y cibernética: ¿qué habilidades de programación se necesitan?

(Para Simone Cossu*)
19/03/24

Por trivial que parezca, el programación nació en respuesta a la petición de que las máquinas realizaran tareas: los humanos necesitaban una interfaz sencilla para hablar con ellas.

Al principio tuvimos que adaptarnos mucho a su lenguaje (era la época de las tarjetas perforadas). Con el tiempo llegaron los señores Kernighan y Richie quienes, con su "C", simplificaron la escritura del código, haciendo todo posible para un público cada vez más amplio.

Que lenguaje"

Un lenguaje de programación Elegir no es fácil: el proceso para elegirlo es muy similar al que implementamos cuando elegimos una prenda de vestir, debe ser cómoda y, de alguna manera, debe reflejarnos. Además, debe adaptarse a la circunstancia en la que nos gustaría llevarlo. De igual forma, cada lenguaje de programación tiene sus propias características y debe permitirnos escribir el código necesario para nuestro propósito final, de la forma más sencilla y efectiva posible.

Python

Python representa un excelente compromiso entre diferentes necesidades. Bastante fácil de aprender, debido a su sintaxis muy orientada al inglés, además es muy ampliable. En promedio, es rápido en la ejecución del código y, al mismo tiempo, es portátil de una arquitectura a otra.

¿Qué es Python?

Python es un lenguaje de programación orientado a objetos de alto nivel. Se adapta muy bien a diferentes usos, desde pequeños guión (pequeños programas que responden a necesidades simples de automatización) hasta aplicaciones de gran tamaño (por ejemplo, web).

Es un lenguaje "interpretado", lo que significa que el compilador lee y ejecuta el código sobre la marcha, una línea tras otra. Esto podría acercarlo a lenguajes igualmente conocidos como Javascript e PHP. Sin embargo, su capacidad para crear el bytecode, de manera similar a Java, le permite una especie de compilación del código escrito, más cercana a la de la máquina pero no exactamente compilada. Suficiente para permitir una mejora en el rendimiento general de la ejecución.

Cómo estudiar Python

El estudio de Python no presenta ningún problema crítico particular, al contrario, fue desarrollado para forzar la sintaxis con reglas tan simples como efectivas. Sin embargo, las diferencias no son triviales.

Al cambiar a Python tienes que olvidarte de los terminadores de línea (los infames ";"), de los corchetes para describir bloques de código, y tal vez incluso de luchar un poco con la sintaxis rígida basada en espacios en el mismo número que el comienzo de las líneas de un bloque. Como ejemplo, un bloque IF en un lenguaje tipo C se expresaría de la siguiente manera: if (condición) {código a ejecutar} else {otro código a ejecutar} mientras que Python lo expresa como if condición: código a ejecutar else: else código ejecutar. Los dos espacios al principio de la línea determinan si las líneas pertenecen al mismo bloque.

Un truco muy sencillo de su creador Guido Van Rossum para eliminar un viejo problema del lenguaje "C" para el cual la pérdida de un terminador de línea representaba a menudo un gran problema. Herramientas útiles (replit) Python viene con paquetes que se pueden instalar fácilmente en muchos sistemas operativos, sin duda en los más conocidos. Junto con el compilador también viene un pequeño entorno de desarrollo llamado IDLE, esencial y sencillo de utilizar. Es una herramienta muy útil para empezar, pero no puede afrontar un desafío con soluciones complejas como Repita, un IDE web, que permite un desarrollo rápido y sencillo sin la preocupación de tener que crear y mantener el entorno en el que opera.

Repita está equipado con funciones muy avanzadas que ayudan al desarrollador incluso sugiriendo ejemplos de código que pueden reutilizarse rápidamente. ¡También permite la ejecución de código directamente en la plataforma!

Alternativas a Python

Hay muchos lenguajes de programación disponibles en la actualidad, pero ninguno tiene las características de Python. En particular, el cariño mostrado por su gran comunidad de desarrolladores ha hecho que a lo largo del tiempo estén disponibles numerosas bibliotecas que amplían las capacidades hasta el infinito e incluso hasta lo infinitesimal. Probablemente también sea necesario señalar que Python también puede ejecutarse en microdispositivos (MicroPython).

Referencias:

https://www.python.org/about/gettingstarted/

https://docs.python.org/3/library/dis.html

https://docs.python.org/3/library/idle.html

https://micropython.org/

https://it.wikipedia.org/wiki/Guido_van_Rossum

https://it.wikipedia.org/wiki/Brian_Kernighan

https://it.wikipedia.org/wiki/Dennis_Ritchie

* Apasionado por las TI desde pequeño. Siguió un camino científico pasando -y saliendo feliz- de la gran escuela del Politécnico de Turín. Tratando de mantener el espíritu del eterno estudiante, trabaja en el campo de la seguridad informática. Le encanta la programación, especialmente cuando trabaja para simplificar la vida humana, sin socavar su esencia. ¡En su tiempo libre se dedica a la automatización de todo tipo!