Ir al contenido principal

Uso de la inteligencia artificial

Guía en la que conoceremos los usos de la inteligencia artificial en la Educación superior.

Programación

Código informáticoAl igual que en el apartado anterior, es posible pedir un conjunto de código de diversos lenguajes (MySQL, Java, JavaScript, R, Ruby, Python, PHP, HTML, XML, PERL, JSON, etc.), con el prompt adecuado, a aplicaciones de IA como ChatGPT, Copilot, Gemini. La inteligencia artificial puede asistir en la programación, optimizando y creando código, detectando y corrigiendo errores y automatizando pruebas, y existen herramientas específicas que pueden ayudar a los desarrolladores a ser más eficientes, reducir errores y automatizar tareas.

Aplicaciones de IA útiles

Logotipo de GitHub Copilot

Desarrollado por GitHub y OpenAI, GitHub Copilot es un asistente de codificación que sugiere líneas de código y funciones completas en tiempo real. Se integra con editores de código como Visual Studio Code y puede ayudar a generar código en varios lenguajes de programación, especialmente de GitHub. Ofrece cuentas para personas, gratuitas, con limitaciones, y de suscripción (Free, Pro, Pro+) y para empresas, cuentas de suscripción (Business y Enterprise). Sus características principales son:

  • Autocompletado inteligente: Sugiere automáticamente líneas completas o bloques de código, alternativas y optimizaciones del mismo, a medida que se escribe. Aprende del estilo de programación y del contexto del archivo. También ayuda a completar algoritmos que no se recuerdan del todo o a generar plantillas para empezar más rápido a crear código.

  • Soporte de múltiples lenguajes: funciona con lenguajes ampliamente utilizados: Python, JavaScript, TypeScript, Ruby, Go, C++, Java, etc.

  • Integración con editores: es compatible con Visual Studio Code, Neovim, JetBrains IDEs, y Visual Studio.

  • Generación de funciones completas: puede generar una función entera a partir de un comentario o descripción natural (en lenguaje humano).

  • Traducción entre lenguajes: ayuda a convertir código de un lenguaje a otro (por ejemplo, de Python a JavaScript).

  • Documentación y pruebas: puede sugerir comentarios, docstrings y pruebas unitarias básicas para el código.

  • Aprendizaje continuo: aunque no aprende directamente del código privado de quien está programando, Copilot se mejora continuamente con retroalimentación y datos globales de uso.
     

Sin embargo, también presenta algunas limitaciones:

  • Puede generar código incorrecto o inseguro.

  • No siempre sigue las mejores prácticas de diseño.

  • A veces repite código visto o localizado en otros repositorios, con el posible riesgo de infringir las normas de derechos de auto o copyright.

  • Necesita revisión humana: no es un reemplazo del programador, sino una ayuda.

 

Tabnine es similar a GitHub Copilot y ofrece sugerencias de código a tiempo real, adaptándose al estilo de codificación del desarrollador. Ayuda a acelerar el proceso de creación de código y a reducir errores. Fue uno de los pioneros en este espacio antes de GitHub Copilot.Ofrece cuentas de suscripción mensual para desarrolladores y empresas (Dev y Enterprise) y una opción de prueba gratuita (Free trial) de 30 días. Sus principales características son:

  • Autocompletado predictivo: Sugiere líneas completas, funciones o fragmentos de código basados en el contexto actual y patrones del proyecto que se está desarrollando en tiempo real. Además, completa estructuras como bucles, condicionales, clases, funciones, etc. También permite desactivar sugerencias no deseadas o personalizar su comportamiento.

  • Soporte para múltiples lenguajes: Compatible con más de 20 lenguajes; Python, Java, JavaScript, TypeScript, C/C++, Go, Rust, Ruby, PHP, etc.

  • Funciona localmente: Tabnine puede ejecutarse completamente offline en un PC o portátil, sin enviar tu código a servidores externos. Es muy útil cuando se está creando código importante o delicado, ofreciendo un componente de privacidad y seguridad.

  • Modelos personalizados: permite entrenar un modelo de IA con código privado (en Tabnine Enterprise). Así, el sistema se adapta a los estándares, convenciones y estilo de programación de la persona desarrolladora.

  • Integración con múltiples editores: funciona con VS Code, IntelliJ, WebStorm, Android Studio, Sublime Text, Atom, Neovim, en otros tantos.

  • Velocidad y eficiencia: está diseñado para ser rápido y ligero, sin recargar el entorno de desarrollo.

 

Ventajas en privacidad y seguridad

  • Tabnine Local: No necesita conexión a internet.

  • Tabnine Pro / Enterprise: Ofrece entrenamiento personalizado y cumplimiento de políticas de privacidad corporativas.

  • No almacena de código: No guarda ni comparte tu código si se utiliza la versión local.


Limitaciones:

  • La versión gratuita tiene menos potencia predictiva que Copilot.

  • Las mejores funciones (como modelos entrenados con código desarrollado) están en los planes de pago.

  • Las sugerencias pueden ser genéricas si no se personaliza.

Logotipo de Amazon Q DeveloperAmazon Q Developer (anteriormente Amazon CodeWhisperer) es un asistente conversacional impulsado por IA generativa que ayuda a los desarrolladores a comprender, crear, ampliar y operar aplicaciones en AWS. Está diseñado para integrarse en entornos de desarrollo y facilitar tareas complejas mediante interacciones en lenguaje natural. Se ofrece una versión gratuita con funcionalidades básicas y algunas restrucciones para desarrolladores individuales y la versión profesional de suscripción mensual (Amazon Q Developer Pro)  que dispone de capacidades avanzadas y personalización.

Sus características principales son:

  • Generación de código en tiempo real: Proporciona sugerencias de código que van desde fragmentos hasta funciones completas, basándose en los comentarios de personas usuarias y el código existente.​

  • Asistente conversacional: Permite realizar preguntas sobre arquitectura de AWS, recursos, mejores prácticas y documentación, ofreciendo respuestas contextuales y prácticas. 

  • Análisis de seguridad: Detecta vulnerabilidades difíciles de identificar (credenciales expuestas, inyecciones de registros, etc.), y sugiere soluciones para corregir el código de forma instantánea.

  • Agentes autónomos: Incluye agentes que ayudan a implementar características, documentar código e iniciar nuevos proyectos con un solo prompt.

  • Soporte multilingüe: Ofrece interacción en diferentes idiomas, incluido el español, lo que facilita la colaboración a nivel global.​

  • Integración con IDEs (Entorno de Desarrollo Integrado) conocidos: es compatible con entornos IDEs como Visual Studio Code, IntelliJ IDEA, Visual Studio, etc.,

  • Personalización: se adapta a las bibliotecas internas, API, prácticas recomendadas y patrones de arquitectura de una organización, generando recomendaciones más pertinentes.

  • Operaciones y optimización a través del chat: facilita la comprensión de los recursos que se ejecutan en una cuenta de AWS, ayuda a diagnosticar errores y solucionar problemas de conectividad de red mediante mensajes en lenguaje natural.


Privacidad y seguridad

  • Contenido protegido: En la versión Pro, el contenido del usuario no se utiliza para entrenar los modelos subyacentes para otros clientes.

  • Cifrado en tránsito: La comunicación entre el IDE y el servicio de Amazon Q Developer se realiza mediante el protocolo TLS, garantizando una transmisión segura.

------

Replit:

  • Replit incorpora IA para ayudar a la generación de código, y también en la explicación del código.

-----

DeepCode (ahora parte de Snyk):

  • Utiliza IA para analizar el código y detectar posibles errores, vulnerabilidades y problemas de rendimiento.
  • Ayuda a mejorar la calidad del código y a prevenir problemas antes de que lleguen a producción.

----------

CodeClimate:

  • Proporciona análisis de calidad de código y revisiones automatizadas, ayudando a mantener estándares de calidad en el desarrollo.

-------

Otras herramientas:

  • Tess AI:
    • Es una importante innovación en IA, que incorpora tecnologías avanzadas como el procesamiento del lenguaje natural (PLN) y el aprendizaje automático.  
    • Para la generación de código, Tess AI utiliza el aprendizaje automático y la PNL para comprender y ejecutar instrucciones, generando fragmentos de código o programas completos en varios lenguajes, como Python, JavaScript, Java, C++ y SQL.  

Replit es una plataforma de desarrollo en línea que permite programar directamente desde el navegador, sin necesidad de instalar software adicional. Ofrece una cuenta gratuita (Starter) con limitaciones y tres planes de suscripción (Replit Core, Teams y Entreprise) Sus principales características y funciones:

  • Entorno de desarrollo en la nube: proporciona un IDE (Entorno de Desarrollo Integrado) completo accesible desde cualquier dispositivo con conexión a internet, eliminando la necesidad de configuraciones locales.​ Además, incluye una consola o terminal integrada para ejecutar comandos y scripts directamente desde el entorno de desarrollo.

  • Soporte multilenguaje: Admite más de 50 lenguajes de programación: Python, JavaScript, Java, C++, HTML, CSS, etc.

  • Colaboración en tiempo real: permite que múltiples personas trabajen simultáneamente en el mismo proyecto, facilitando así la programación colaborativa y dispone de una variedad de plantillas para iniciar proyectos rápidamente en diferentes lenguajes y frameworks.​

  • Asistencia de IA con Ghostwriter: proporciona sugerencias de código, autocompletado y ayuda en la depuración.

  • Integración con GitHub: facilita la importación y exportación de proyectos desde y hacia repositorios de GitHub.​

  • Despliegue de aplicaciones: permite publicar aplicaciones web directamente desde la plataforma con solo unos clics.​

  • Interfaz intuitiva: Diseñada para ser fácil de usar, tanto para principiantes como para desarrolladores experimentados.​

Logotipo de SynkDeepCode AI Fix, que forma parte de Snyk, es una herramienta de inteligencia artificial especializada en la revisión automatizada de código fuente, enfocada en mejorar la calidad, seguridad y eficiencia del desarrollo de software, utilizando IA para analizar el código, detectar posibles errores, vulnerabilidades y problemas de rendimiento antes de que lleguen a producción. Tiene un plan gratuito (free) con limitaciones y dos planes de suscripción (Teams y Enterprise) con opciones más avanzada.

Sus principales características son:

  • Análisis de código en tiempo real: utiliza algoritmos de aprendizaje automático para analizar el código mientras se escribe, identificando errores, vulnerabilidades y malas prácticas de forma instantánea.

  • Detección de vulnerabilidades de seguridad: es capaz de identificar problemas de seguridad en las dependencias de código abierto y proporcionar recomendaciones para solucionarlos, ayudando a mantener la integridad del software. Además, se asegura una protección constante, incluso tras la implementación de una aplicación, ya que vigila dependencias de código abierto continuamente.

  • Integración con plataformas de desarrollo: Se integra fácilmente con sistemas de control de versiones como GitHub, GitLab y Bitbucket, así como con herramientas de CI/CD, permitiendo a los equipos incorporar la seguridad en su flujo de trabajo diario. 

  • Soporte multilenguaje: Admite más de 19 lenguajes de programación (Java, Python, JavaScript, C++, etc.), lo que la hace versátil para diversos proyectos.

  • Recomendaciones contextuales: analiza el contexto específico de cada fragmento de código y sugiere soluciones precisas y efectivas. 

  • Gestión de licencias de código abierto: Ayuda a gestionar las licencias de las dependencias de código abierto para evitar problemas legales, proporcionando una visión clara de las implicaciones de las licencias utilizadas. ​

  • Análisis semántico profundo: emplea análisis semántico para comprender la estructura y el comportamiento del código, lo que permite detectar problemas que podrían pasar desapercibidos con análisis más superficiales.

  • IA especializada en seguridad: DeepCode ha sido entrenado con datos específicos de seguridad curados por especialistas. Así le permite ofrecer análisis y correcciones de código con gran precisión sin comprometer la privacidad de los datos.

  • Correcciones automáticas verificadas: Antes de implementar las correcciones sugeridas, esta herramienta analiza automáticamente las recomendaciones para garantizar que no presenten nuevos problemas de seguridad.

Síguenos en:

Licencia Creative Commons
Biblioteca/CRAI de la Universidad Pablo de Olavide Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional.