Inteligencia Artificial para Programar (Automáticamente)

Inteligencia Artificial para Programar (Automáticamente)

Ya se puede sustituir una parte del trabajo de los programadores y analistas, mediante herramientas de Inteligencia Artificial. A continuación te mostraré algunas de estas herramientas y proyectos actuales, que ya permiten hacer que esto se haga realidad.

boton formacion

GitHub Copilot.

copilot

Realmente utiliza la tecnología de OpenAI Codex y se emplea gracias a un plugin en VS Code. Es capaz de generar código, a partir de órdenes con lenguaje natural y también realiza sugerencias, algo que resulta incómodo para algunos desarrolladores, sin embargo, es posible configurar el Copilot, para que no sea tan molesto. El código que genera esta herramienta, no está guardado y se pega posteriormente, realmente se genera código nuevo.

Lenguajes de programación que soporta: Python, JavaScript, TypeScript, Java, Ruby y Go. También es posibles utilizarlo para realizar consultas SQL, mediante lenguaje natural.

Algunos medios afirman que más del 30% de los códigos que hay publicados en GitHub, se han generado mediante la herramienta de Copilot.

IntelliCode.

intellicode

Se trata de una herramienta desarrollada por Microsoft y que puede utilizarse en Visual Studio. Con esta herramienta se tienen recomendaciones de códigos, basándose en el estudio de miles de códigos y en el código que está programando el desarrollador en ese mismo momento. A la hora de refactorizar códigos también sirve de ayuda y aplica la IA.

Lenguajes compatibles con IntelliCode: C#, C++, Java, Python, SQL, TypeScript y JavaScript. Sin embargo, algunas funciones solo están disponibles en C#.

Tabnine.

tabnine

Se trata de un plugin para crear código de forma automatizada, que emplea el deep learning y más de 2 millones de códigos de GitHub, proporcionando que el desarrollador tarde mucho menos tiempo en realizar determinados programas. La arquitectura en la que se basa, es la misma que emplean algunos programas de procesamiento del lenguaje natural.

Dispone de una versión gratuita, sin embargo, esta versión es demasiado limitada. La versión de pago tiene el precio de 12$ al mes y reconoce el lenguaje natural para recibir órdenes de programar automáticamente; se adapta al estilo de programar del desarrollador y realiza códigos completos. Además de las dos versiones anteriores, también tiene otra para empresas.

Algunas empresas que han utilizado esta herramienta son: LG, Cisco y Vmware, entre muchas más.

OpenAI Codex.

open-ai

Se trata de una herramienta que se ha creado para convertir el lenguaje natural en código. Realmente es muy útil para realizar consultas y órdenes en SQL, en base a órdenes del usuario, sin la necesidad de tener que saber programar, además de también ser compatible con lenguajes como Python o Javascript. Yo (Javier) la he utilizado para consultas SQL y me las ha hecho bien. Además de lo anterior, también es eficaz para encontrar bugs en programas con Python y trabajar con API’s complejas como la de Stripe.

Kite

kite

Kite sí que es gratis y es compatible con más de 16 lenguajes de programación, además de tener el plugin disponible para casi todos los IDE más populares. Utiliza tecnología con Machine Learning, para ayudar a completar código en tiempo real. Con esta herramienta se reduce hasta un 47% el tiempo en desarrollar código. En este vídeo se puede apreciar su funcionamiento y aprender a emplear Kite. La Inteligencia Artificial de Kite ha sido entrenada con más de 25 millones de archivos.

¿Se van a quedar sin trabajo los programadores por estas herramientas?

No creo que los programadores se vayan a quedar sin trabajo, ya que los lenguajes de programación están en constante evolución y es muy complicado sustituir a una persona por una máquina, para un proyecto completo. Sobre todo en el aspecto en el que es necesario conocer todo el funcionamiento de un programa al completo y su arquitectura. Sí que es verdad que se pueden sustituir ciertas cosas, como realizar determinadas consultas a bases de datos, crear determinados objetos y realizar programas muy sencillos, sin embargo, siempre es necesario que alguien con conocimientos avanzados realice el diseño, sincronice las diversas partes de un proyecto y mantenga actualizado el software.

¿Cómo utilizar esta tecnología para usos en la vida real?

No hay que subestimar las herramientas anteriores y pensar que no sirven para nada. Siendo humildes con nosotros mismos, debemos de tener en cuenta, que nos ayudarán a:

  1. Ahorrar cientos de horas de programación, ya que los autocompletados con IA, van ahorrando segundo a segundo, cosa que en un proyecto pueden acabar siendo cientos de horas.
  2. Crear pequeñas partes de un programa, sin tener que revisar tanto stack overflow.
  3. Encontrar bugs y refactorizar de una forma más eficiente.
  4. Hablarle a una base de datos con lenguaje natural.

Trabajo del futuro (Expertos en no-code)

Debido al auge de estas tecnologías, ya están empezando a surgir los primeros profesionales “no-code”. Este tipo de perfil, puede que sea un trabajo del futuro. Basado en crear software con ayuda de Inteligencia Artificial, paquetes de CMS, programas y librerías en concreto.


boton formacion

Mi opinión personal.

Opino que el trabajo de desarrollador de software, es uno de los trabajos más complicados de sustituir del planeta y que en el caso de que la Inteligencia Artificial, logre sustituir la mayoría de los empleos actuales, el trabajo de desarrollador de software, será uno de los últimos en lograr de automatizar.

Javier.Finance
Sígueme:

Deja un comentario