programación

El futuro es ahora: desarrollo asistido por inteligencia artificial.

por Lógico (@logico_ar)

PUBLICADO 12:00
1.2.2020

Potenciá tus habilidades para programar usando la asistencia de inteligencias artificiales.

Podemos asegurar sin temor a equivocarnos que en algún momento de tu vida quisiste tener una AI cómo J.A.R.V.I.S. o YoRHa Type A No.2 cómo asistente personal. Más que hacer las cosas por nosotros pueda mejorar y aumentar nuestras capacidades. Por suerte para nosotros, los desarrolladores, ese sueño ya es una realidad. Y llegó en forma de plugin.

Visual Studio Intellicode, TabNine son dos plugins para tu editor de texto / IDE que mejoran el reconocimiento semántico mediante inteligencia artificial. Pero ¿de donde proviene esa "inteligencia"?. Primero, mediante machine learning, se los entrenó con proyectos populares open source en GitHub (con más de 100 estrellas). Una vez instalado en nuestro equipo y reforzado con el contexto de nuestro código puede dar recomendaciones bastante acertadas. Si bien los plugins son open source lamentablemente los modelos de aprendizaje no.

Visual Studio IntelliCode.

Este plugin es desarrollado por Microsoft y tiene soporte para Visual Studio Code y Visual Studio 2017 (o superior). Soporta los siguientes lenguajes:

  • C#
  • C++
  • Java
  • Python
  • SQL Server
  • TypeScript / Javascript
  • XAML

Además del autocompletado cuenta con un par de funciones muy interesantes. Refactorización (restructuración) y revisión de código inteligente. Cuando modifiques partes del código, Intellicode detecta si se repite la misma acción y ofrece automatizar esa acción en otros lugares que puedan ser necesarios. En la revisión de código se comporta como un par de ojos más, buscando y resaltando cambios que pueden necesitar atención.

Para instalarlo sólo basta buscar por "Intellicode" en el Visual Studio Marketplace según el editor que estés utilizando.

TabNine.

En principio su funcionamiento es similar a Intellicode pero con soporte para más IDEs. Actualmente hay plugins para: Visual Studio Code, IntelliJ, Sublime Text, Vim / NeoVim (yeah!), Emacs, Atom y Jupyter Notebook. Además de esto cuenta con soporte para virtualmente todos los lenguajes. TabNine combina AI con Language Server Protocol, que es el protocolo que brinda las características del lenguaje (autocompletado, definiciones, referencias, etc) al IDE. Pero la cereza del pastel es Deep TabNine.

Deep TabNine no sólo que da sugerencias sobre funciones, sino que ¡predice líneas completas de código!. Mediante un nuevo modelo de aprendizaje profundo llamado GPT-2 puede predecir la siguiente palabra basandose en las palabras anteriores. Si bien estas funciones son de pago, es posible acceder a una licencia beta gratuíta. Actualmente soporta los siguientes lenguajes

  • Python
  • JavaScript / TypeScript
  • Java
  • C++
  • C
  • PHP
  • Go
  • C#
  • Ruby
  • Objective-C
  • Rust
  • Swift
  • Haskell
  • OCaml
  • Scala
  • Kotlin
  • Perl
  • SQL
  • HTML
  • CSS
  • Bash

La instalación varia según el editor. Puedes encontrar toda la información acá.

Artificial Intelligence helps write code in Python

Otros proyectos.

Por si todo esto fuera poco hay un par de proyectos interesantes dando vueltas: Aroma y Kite. Aroma es desarrollado por Facebook y está en fase alpha, pero promete hacerle pelea a Intellicode.
Por otro lado, Kite sólo tiene soporte para Python pero es completamente gratis para los usuarios de Linux (¿quien dijo que no podiamos tener cosas bonitas?). Tiene soporte para:

  • Atom
  • Visual Studio Code
  • Vim / NeoVim
  • IntelliJ
  • Sublime
  • Spyder
  • PyCharm

Podés votar para que den prioridad y soporte a otros lenguaje e IDEs en esta página.

unsplash-logoHkyu Wu


Comentarios desactivados en la versión móvil.