Ubunlog Diego Germán González  

Soluciones basadas en Inteligencia Artificial para Linux

Existen varias soluciones basadas en Inteligencia Artificial que pueden usarse para programar en Linux


A partir de la irrupción de los modelos de lenguaje a gran escala (LLM), aparecieron una gran cantidad de servicios prometiendo resultados extraordinarios. En un intento de separar la realidad de la burbuja, estamos escribiendo una serie de artículos sobre las soluciones basadas en Inteligencia Artificial para programar en Linux.

No me canso de insistir en los riesgos de ceder la totalidad del control de las decisiones de programación a un modelo, para darme la razón entra la publicación de un post y el siguiente aparece una noticia de la filtración de un problema de seguridad asociado al uso de un modelo de Inteligencia Artificial sin control humano. En este caso la filtración del código fuente del modelo Claude a partir de un paquete subido al repositorio npm.

Arriesguémonos con una analogía. La mayor parte de los procedimientos médicos son rutinarios. Se trata de seguir una serie de pasos perfectamente estandarizados en el orden que enseñan en la faculad de Medicina El problema es que los cuerpos humanos no son estandarizados. Pueden producirse complicaciones inesperadas como fallas orgánicas o errores. De ahí el riguroso entrenamiento de los médicos que los hace capaces de tratar con las anomalías.

Lo mismo pasa en la programacion. Existen millones de combinaciones de sistemas operativos, hardware, lenguajes de programación, bibliotecas, usuarios y circunstancias de uso. Si no se le indica de manera detallada al modelo de Inteligencia Artificial que es lo que necesita, cómo se lo va a usar y cuáles herramientas utilizar, lo hará basándose en estadisticas. Y, aún cuando uno le de todo lo que necesita saber de manera detallada, no hay garantía de que no meta la pata.

El tema clave aquí es que para saber que indicarle hay que tener conocimientos de programación, lo que es un misil en la linea de flotación del principal argumento de los apologistas del vibe coding.

Soluciones basadas en Inteligencia Artificial para programar en Linux

Jetbrains

Los IDEs de Jetbrrains están disponibles en la tienda de Snap

Ubuntu te da acceso a las últimas versiones de los entornos integrados de desarrollo de etbrains con asistentes basados en Inteligencia Artificial. Pueden descargarse de sde la tienda de Snap.

Para terminar con nuestra enumeración de entornos integrados de desarrollo con asistentes de Inteligencia Artficial vamos a enfocarnos en una familia de productos con un excelente soporte para Linux.

Jetbrains tiene un enfoque diferente al de Visual Studio Code o Cursor. En primer lugar, cada entorno integrado de desarrollo está enfocado a un lenguaje de programación. En segundo lugar, aunque tiene versiones gratuitas, estas están sujetas a restricciones y para tener las prestaciones completas debes pagar la suscripción del entorno y de la Inteligencia Artifical.

En lo referente a las funciones de Inteligencia Artificial, Jetbrains utiliza un complemento que integra las siguientes funciones:

  • Autocompletado inteligente del código
  • Chat integrado
  • Generacion de código
  • Explicación del código.
  • Refactorización.
  • Automatización de test.
  • Integración con los modelos de Claude, Grok, GPT, Gemini.
  • Integración con los agentes de OpenAi, Claude y el suyo propio.
  • Generación automática de documentación.
  • Conexión con modelos locales.

Los entornos con los que pueden usarse los modelos de Inteligencia Artificial son

  • IntelliJ IDEA: Enfocado en la programación para los lenguajes Java y Kotlin. Se puede instalar desde la tienda de Snap con el comando sudo snap install intellij-idea --classic
  • PyCharm: Enfocado en la programación en Python y sus frameworks.También está en formato Snap y puede instalarse con el comando sudo snap install pycharm --classic
  • WebStorm: Enfocado a la programación web interacttiva usando Javascript y tecnologías derivadas. El comando para instalarlo desde la tienda de Snap es sudo snap install webstorm --classic
  • CLion: Pensado para programar en los lenguajes C y C++. También en la tienda de Snap a partir de la instalación con la instrucción sudo snap install clion --classic
  • Rider: Alternativa a Visual Studio para programar en el universo NET / C#. La instalación, también desde la tienda de Snap es posible gracias al comando sudo snap install rider --classic
  • DataGrip: Herramienta para la gestion de base de datos. Podrás usarlo para gestionar tus bases de datos luego de instalar el programa con el comando sudo snap install datagrip --classic desde la tienda de Snap
  • PhpStorm: Entorno Integrado de Desarrollo para PHP. La tienda de Snap te lo instala con el comando sudo snap install phpstorm --classic
  • GoLand: IDE con enfoque en el lenguaje Go. También, desde la tienda de Snap puedes acceder a este programa con la instrucción sudo snap install goland --classic</code
  • RubyMine: Se usa para programar en el lenguaje de programación del mismo nombre.Se descarga desde la tienda que ya saben con el comando sudo snap install rubymine --classic

Aplicaciones basadas en la nube

Las aplicaciones basadas en la nube tienen la ventaja de que son independientes del sistema operativo y el trabajo puede continuarse en cualquier equipo que tenga conexión a Internet. El gran inconveniente es que no controlas quien accede a tus datos y que el  servicio puede discontinuarse en cualquier momento perdiendo tu trabajo. Muchas de estas aplicaciones no requieren la escritura de código

Vercel

Vercel es un servicio en la nube que permite la creación, el escalado y laproteccion de datos de aplicaciones web. Entre sus funciones están::

  • Servicio de alojamiento de  sitios y aplicaciones basados en tecnologías web.
  • Despliegue automático de aplicaciones.
  • Integración con GitHub y GitLab

Algunos servicios son:

  • v0: Genera aplicaciones a partir de promts breves y plantillas prediseñadas.
  • Ai SDK: Permite conectar aplicaciones escritas en lenguaje TypeScript con los principales modelos de Inteligencia Artificial.
  • AI Gateway: Centraliza el acceso de una aplicación a distintos modelos de Inteligencia Artificial.
  • Vercel Agent: Se usa para crear agentes de Inteligencia Artificial que actúan dentro de las aplicaciones.

<h4>Lovable</h4>

Lovable es una plataforma que mediante el uso de la Inteligencia Artificial

En el próximo artículo abandonaremos por un momento las herramientas de Inteligencia Artificial para enfocarnos en las tecnologías de programación que podremos usar para la programación asistida por Inteligencia Artificial permite crear aplicaciones  a partir de descripciones expresadas en lenguaje natural.

Entre sus funciones están:

  • Diseñar interfaz de usuario.
  • Generar la interacción local.
  • Crear el funcionamiento básico del lado del servidor.
  • Definir la estructura de datos.
  • Conectar con servicios externos.




Leave A Comment

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