Es de sobra conocido que el número PI fascina a los matemáticos tanto que el 3/14 … o sea el 14 de marzo se celebra su día que desde el pasado año 2019 ha sido declarado por la UNESCO como «Día Internacional de las Matemáticas«.
Otro número «célebre», aunque en este caso para los programadores, es el 256 al ser la cantidad de números que pueden representarse con 8 bits o un byte, la unidad de información básica usada en computación. Por eso, el Día del Programador puede ser que se festeje el 13 de septiembre, en un año ‘normal’, o el 12 de septiembre en años ‘bisiestos’, como en el 2020, ya que febrero tuvo 29 días.
Hablando de programadores, cada día está más claro que va a ser una profesión que se tendrá que reinventar completamente por cuanto las grandes corporaciones tipo Microsoft, Google o IBM está apuntando hacia el desarrollo del Código de Lenguaje Natural (NLC por sus siglas en inglés).
En los últimos años empresas como OpenAI y Google han mejorado enormemente las tecnologías de Procesamiento del Lenguaje Natural (NLP). Estos programas impulsados por aprendizaje machine learning están diseñados para comprender e imitar mejor el lenguaje humano natural y traducir entre diferentes idiomas. El entrenamiento de estos sistemas de aprendizaje automático requiere acceso a un gran conjunto de datos con textos escritos en los lenguajes humanos de nuestra elección. El NLC también lleva todo esto a la codificación.
Codenet que IBM lanzó el pasado mes de mayo es un intento de lograr para la escritura de código de inteligencias artificiales (IA) lo que ImageNet logró con la escritura de visión artificial: hablamos de una base de datos de más de 14 millones de muestras de código, en 50 lenguajes de programación y destinados a resolver 4.000 problemas de codificación. El dataset también contiene numerosos datos adicionales, como la cantidad de memoria necesaria para que el software se ejecute y registre las salidas del código en ejecución.
El NLC aprovecha las tecnologías de NLP y grandes bases de datos al estilo de CodeNet para permitir que cualquiera use el inglés (o, en última instancia, el francés, el chino o cualquier otro idioma natural) para programar. Podría hacer que tareas como diseñar una página web sea tan simple como escribir «crear un fondo rojo con la imagen de un demonio y un botón de contacto debajo» para que esa página wed se cree al instante. Sería el resultado de una traducción automática del lenguaje común llevado al código.
Es evidente que IBM no era la única pensando esto. GPT-3, el modelo de PNL líder en la industria de OpenAI, se ha utilizado para permitir la programación de un sitio web o una app escribiendo un texto simple de aquello que buscas. Al poco tiempo del anuncio de IBM, Microsoft anunció que había comprado los derechos exclusivos de GPT-3.
Desde 2018 Microsoft también es propietario de GitHub, el mayor repositorio de código fuente abierto en Internet. La compañía ha aumentado el potencial de GitHub con GitHub Copilot, un asistente de inteligencia artificial. Cuando el programador ingresa la acción que desea programar, Copilot genera una muestra de código que podría ser lo que está buscando.
Aunque la NLC aún no es del todo factible, nos encaminamos hacia un futuro donde la programación sea mucho más accesible para la persona promedio a gran velocidad, y las implicaciones van a ser enormes. Probablemente la programación acabe democratizándose «volviendo» a ser tan solo una herramienta al servicio de científicos e investigadores que se podrán centrar en su campo.
Sin embargo, las IAs al nivel requerido para crear la NLC no se puede desarrollar o implementar sin una importante inversión de dinero, y es probable que acabe siendo monopolizada por las principales empresas tecnológicas00 como son Microsoft, Google o IBM.
929