Ubunlog Diego Germán González  

Herramientas con tecnologías de Inteligencia Artificial para programar en Linux

Usar un asistente de Inteligencia Artificial agiliza la programación


Este mes venimos dedicando nuestra serie de artículos a ilustrar sobre la diferencia del vibe coding con la programación asistida por la Inteligencia Artifical. En este ṕst qie estás leyendo seguiremos hablando de herramientas con tecnologías de Inteligencia Artificial para programar en Linux.

Antes de empezar quiero insistir una vez más sobre los peligros del vibe coding. La idea de poder hacer la aplicación que siempre soñaste sin tomarte la molesito de estudiar aburridas lecciones sobre cómo imprimir «Hola Mundo» en la pantalla es tentadora. Pero, te puedo pasar como al personaje del aprendiz de brujo y desatar fuerzas que no conocías. La Inteligencia Artificial, ante la falta de instrucciones específicas, busca la solución más común. Esa solución más común suele ser la que programadores expertos suelen discutir en foros y muchas veces requieren de conocimientos de configuración de seguridad de nivel medio a alto.

Desde que estoy publicando esta serie de artículos, al menos se han reportado dos bibliotecas usadas en proyectos de software infectadas or malware. Si eres un programador que conoce su trabajo, sabes si están incluídas en tu proyecto y cómo actualizarlas y reemplazarlas. Si eres un vibe coder probablemente ni sepas cómo funciona ese programa del que estás tan orgulloso.

No se trata de que renuncies a tener la aplicación con la que siempre soñaste o forzarte a ahorrar años para pagarle a un programador. Estás en el mundo de Linux y el código abierto y tienes los conocimientos y herramientas que necesitas al alcance de tu mano. La Inteligencia Artificial te va a ayudar explicándote lo que no entiendas de la documentación, sugiriéndote recursos o encontrando errores en el código. Lo que tienes que tener en claro es que siendo insuperable como copiloto es poco confiable en los mandos.

Déjame contarte por qué insisto tanto con esto y prometo meterme de lleno en el tema.

Cuando comencé a hacer sitios web leí sobre un gestor de contenidos de código abierto llamado Joomla. Joomla era un fork de otro gestor de contenidos llamado Magento y parecía ideal para crear la web de la empresa familiar. Leí los requerimientos, contreté el hosting más económico que los cumplía y monté el sitio. Esa primera versión de Joomla tenía un problema de seguridad y usaron mi hosting para robar datos de clientes del Bank of America.

Para hacer la historia corta, intervino él área de ciberseguridad del Gobierno de la Ciudad de Buenos Aires y tuve que dar de baja el dominio porque los de sistemas del Bank of América me consumían ancho de banda monitoreando mi sitio cada 30 segundos. A partir de ese día aprendí todo lo que pude sobre diseño web y seguridad informática básica.

Herramientas con tecnologías de Inteligencia Artificial para programar en Linux

Habíamos comenzado hablando en el artículo anterior sobre Visual Studio Code y su asistente de Inteligencia Artificial GitHub Copilot pero no dijimos cómo se instalaba. Por casualidad nos topamos con un ejemplo que ilustra por qué hay que tener cuidado con las sugerencias de la Inteligencia Artificial. Se me ocurrió preguntarle a ChatGPT cómo se instalaba y, esto es lo que me  contestó.

Respuesta de ChtGpt a mi consulta sobre cómo instalar GitHub Copilot en VS Code

Esta es la respuesta de ChatGPT cuando le pregunté cómo instalar GitHub Copilot en Visual Studio Code.

Cuando sigo el consejo de ChatGPT aparece esto:

La extensión recomendada por ChatGPT fue discontinuada

Captura de pantalla del Marketplace de VS Code donde se ve que la extensión recomendada por ChatGPT está discontinuada

Los pasos para poder usar GitHub Copilot en Visual Studio Code son los siguientes:

  1. Abrir una cuenta en GitHub Copilot. Puedes hacerlo desde aquí.
  2.  Pulsa en el primer icono a la derecha de la barra inferior.
  3. Pulsa en Usar características de Inteligencia Artificial.

Puedes encontrar la documentación completa sobre como usar GitHub Copilot en Visual Studio Code aquí.

Cursor

Visual Studio Code fue el primer programa de Microsoft con versión para Linux y uno de los primeros bajo licencias abiertas. Su éxito fue tan grande que con el tiempo otros entornos integrados de desarrollo se basaron en él. Uno de ellos fue Cursor.

A diferencia de Visual Studio Code que tiene al uso de herramientas de Inteligencia Artificial como opcional, Cursor las integra desde el principio. Algunas de las características de este entorno integrado de desarrollo son:

  • Puede leer varios archivos del proyecto en forma simultánea.
  • Entender las relaciones entre diferentes partes del proyecto.
  • Hacer cambios coordinados en las diferentes partes del código.
  • Chat integrado para responder preguntas sobre el código, pedir aclaraciones sobre cómo actúa una determinada funcion o solicitar cambios al código en lenguaje natural.
  • Conversión automática del código a otros lenguajes de programación.
  • Soporte para complementos.
  • Integración con modelos avanzados de Inteligencia Artificial.
  • Versión con interfaz gráfica y línea de comandos.
  • Uso de agentes e integración de skills

Cursor puede instalarse en Linux en versiones DEB (Debian, Ubuntu y derivados), RPM ( Fedora, Red Hat Enterprise Linux, OpenSUSE y derivados) y Appimage (Plataformas independientes) Hay que tener en cuenta que aunque al igual que Visual Studio Code cuenta con un plan gratuito para el uso de las soluciones de Inteligencia Artificial, ese plan es muy limitado.

En Ubuntu se instala con

cd Descargas
sudo dpkg -i  cursor_X.XX.X_aquitectura.deb
Ten en cuenta que en el comando debes reemplazar X y arquitectura con los datos del paquete que descargaste. El instalador nos preguntará si queremos instalar el repositorio para que la aplicación se actualice en forma automática.

¿Qué plan debo elegir

Si te estás iniciando en la programación asistida por Inteligencia Artificial, la buena noticia es que no necesitas empezar a pagar una suscripción. Con la verisón gratis de GitHub Copilot o Cursor puedes hacer proyectos sencillos como

    <l
  • Lista de tareas clasificadas en categorías o prioridades.
  • Juegos sencillos como Piedra, papel o tijera o Tres en raya.
  • Calculadora.
  • Gestor de recetas.
  • Sitio web de una página con  formulario.

Lo bueno de estos proyectos es que hay muchos tutoriales de como hacerlos y puedes comparar su código con el que te sugiere el modelo de Inteligencia Artificial para darte cuenta si está alucinando.

En el siguiente artículo seguiremos hablando de más herramientas basadas en Inteligencia Artificial.



Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.