Con qué programar en Linux
En esta colección de artículos sobre cómo programar con la asistencia de la Inteligencia Artificial llegó el momento de enfocarnos en los aspectos que no están de moda pero que constituyen la base de todo el proceso. Hablaremos sobre con qué programar en Linux.
Por muy tentador que sea delegar las decisiones en un modelo o construir aplicaciones sin escribir código, la verdad es que los mejores resultados se siguen logrando a al a antigua. Tomando las decisiones y controlando el proceso un ser humano y dejando para la Inteligencia Artificia lo aburrido y rutinario.
Por qué un humano debe estar a cargo?
De los aficionados a hacer grandes promesas sobre los logros de la Inteligencia Artificial que casi nunca se cumplen, sin dudas el mayor es Dario Amodel, el máximo ejecutivo detrás de Anthopic, la compañía detrás del modelo Claude. Amodel anunció que su modelo había conseguido convertir programas en lenguaje COBOL a Lenguaje Java. COBOL es un lenguaje antiguo en el que está escrito la mayoría del software utilizado por el sistema financiero. Casi todos los programadores que lo conocen están en edad de jubilarse y el lenguaje no tiene la versatilidad de los más modernos. La conversión a Java era la gran solución.
De hecho, la noticia provocó la baja de las acciones de IBM (El mayor proveedor de soluciones en COBOL) hasta que todos se dieron cuenta de que aunque fuera posible en lo teórico en la práctica era inpracticable. La industria financiera no puede darse el lujo implementar millones de líneas de código sin ingún tipo de auditoría humana. Además, los modelos de Inteligencia Artificial no llevan un registro de control de los cambios como los sistemas de control de versión que utilizan los programadores que hacen desarrollo colaborativo y permiten detectar donde se produjo el error.
Un ejemplo de las cosas que pueden salir mal si se dejan en manos de los modelos de Inteligencia Artificial es OpenAPS, un sistema automatizado por software para dispensar dosis de insulina. El modelo de Inteligencia Artifical modificó el algoritmo de predicción y los errores se fueron acumulando.
El otro problema es que muchas veces por cuestiones de costos o preferencias personales de distintos mienbros del equipo suelen susarse distintos modelos o versiones de modelos cada uno con sus propias «preferencias» sobre cómo codificar. Eso hace que la productividad que se gana haciendo que el modelo tome las decisiones de desarrollo se pierda tratando de entender el código para corregir errores.
No se trata de demonizar a la Inteligencia Artificial ni pretender que los programadores sean irremplazables en todo tiempo y lugar. Dejar que la Inteligencia Artificial se encargue de la codificaicon tiene su razón de ser en las siguientes situaciones:
- Aplicaciones mono usuario y para propósitos específicos que se usarán de manera local.
- Creación de prototipos de muestra.
- Pruebas de funcionamiento.
Con qué programar en Linux
Llegados a sexto artículo de esta serie, queda en claro que lo que estamos proponiendo una colaboración humano Inteligencia Artificial en la cuál el umano toma las decisiones importantes y la IA da consejos, sugerencias, realiza pruebas y completa líneas de código iniciadas por el programador. Ya hemos comentado las opciones de entornos integrados de desarrollo que incorporan herramientas de Inteligencia Artificial. Ahora hablaremos de las demás herramientas.
Lenguajes de programación
Aunque Linux es compatible con la mayoría de los lenguajes de programación, si vas a recurrir a la ayuda de un modelo de Inteligencia Artificial, lo mejor es quedarse con los más populares dado que su uso está documentado y entre los datos de entrenamiento del modelo habrá una mayor cantidad de ejemplos. Esto reduce el riesgo de alucionaciones.
La decisión sobre el lenguaje de programación a utilizar dependerá del uso y la plataforma. Si vas a hacer una aplicación web es preferible optar por Javascript y PHP antes que por Python. Si no tienes presupuesto para un plan de alojamiento VPS, probablemente debas renunciar a las ventajas de Node.js
En general las opciones más populares en lenguajes de programaición son:
Python
Si estás pensando en crear aplicaciones para el escritorio ya sea con interfaz gráfica o para la terminal. Python es la mejor opción. La mayoría de las distribuciones Linux lo traen preinstalado y los entornos Integrados de Desarrollo incluyen complementos que ayudan en la escritura de código más allá de las herramientas de Intelgiencia Artificial.
;Entre las cosas que podemos hacer con Python están:
- Automatización de tareas repetitivas.
- Análisis de grandes cantidades de datos.
- Creación de pequeños juegos
- Desarrollo de aplicaciones de Inteligencia Artificial.
- Creación de utilidades con Interfaz Gráfica.
HTML, CSS y Javascript
En los viejos tiempos, para que las páginas web dejaran de ser textos e imágenes estáticas había que recurrir a una tecnología privativa llamada Flash. Con el correr del tiempo se desarrollaron estándares habiertos basados en la trilogía que encabeza este apartado.
- HTML: Establece la estructura del sitio o aplicación web incluyendo las secciones, los títulos, los encabezados y los enlaces.
- CSS: Indica como se representan los elementos establecidos por la estructura indicada en el HTML. Esto incluye colores, tipografías o adecuación a los diferentes tamaños de pantalla.
- Javascript: Controla la interacción con el usuario y el procesamiento básico. Entre otras cosas, gracias a Javascript se pueden completar y enviar formularios, pulsar botones o usar menúes desplegables.
Gracias a las últimas versiones de HTML y Javascript y, al uso de herramientas como Electrón. estas tres herramientas dieron el salto desde la web y se usan también para la creación de aplicaicones de escritorio. Dado que todos los navegadores modernos son compatibles no se requiere la instalación de aplicaciones adicionales.
PHP
Aunque Javascript permite cierto tipo de interactividad y procesamiento de datos, para tareas más complejas lo mejor es usar PHP, el veterano lenguaje que los expertos vienen jubilando desde hace más de 20 años. Casi todas las distribuciones Linux lo tienen en sus repositorios y la mayoría de los servicios de alojamiento web tradicionales lo soportan.
Con PHP se pueden captar datos de formularios, enviar correos electrónicos, escribier y leer bases de datos e interactuar con servicios externos.
En el último artículo de la serie hablaremos de como crear promts eficaces.

