1366_20002

Google tiene claro que el futuro de la programación pasa por los robots. Y está más cerca de conseguirlo

Sobre si la inteligencia artificial acabará o no quitándonos el trabajo y a dónde llegará en los próximos 10 años hay mucho escrito. Desde el equipo de robótica de Google quieren que los robots sean aún más autónomos, y ya andan trabajando en un modelo para que puedan escribir su propio código. Esto abre las puertas a que los robots puedan ejecutar tareas más complejas con la expresión completa de lenguajes como Python.

También abre la puerta a que se comporten de forma indebida, aunque hay una forma de controlarlos.

Mediante modelos de lenguaje de última generación, como PaLM, Google asegura que es posible escribir no solo código genérico, sino también código capaz de controlar las acciones de los robots. Tras programar varias instrucciones y combinarlas con estos modelos, dichos modelos pueden generar de forma autónoma nuevo código.

Google explica que, dado el código para una tarea, es posible recomponer llamadas a las API para crear nuevos comportamientos para nuevas tareas. Es decir, utilizar las mismas funciones para otras tareas. Como ejemplo, nos indican el recomponer la orden “si ves una naranja, muévete hacia atrás” a “muévete a la derecha hasta que veas la naranja”.

Estos modelos de lenguaje son capaces de utilizar la expresión completa del código de Python, pudiendo crear código para nuevas tareas dadas las instrucciones del lenguaje natural. Explica Google, del mismo modo, que el potencial de estos modelos es enorme para ser cada vez más precisos con robots que ejecutan la misma tarea, aunque tengan distinta morfología.

https://geo.dailymotion.com/player.html?video=x8cp42v&

Según la compañía:

“La flexibilidad también aumenta los riesgos potenciales, ya que los programas sintetizados (a menos que se comprueben manualmente por tiempo de ejecución) pueden resultar en comportamientos no deseados con el hardware físico”.

Y sí, que los robots se programen ellos solos tiene consecuencias. Google cuenta que la flexibilidad también aumenta los riesgos potenciales de que el hardware se comporte de forma no deseada. Para evitar estos riesgos proponen controles de seguridad integrados en los robots, aunque admiten que “se necesita más trabajo” para que estas aplicaciones sean más seguras.

1366_2000

No tengo ni idea de programar pero sí tengo GPT-4. Así que he creado un clon de ‘Flappy Bird’

Los motores de IA generativa como ChatGPT han demostrado ser una valiosa ayuda para programadores, y de hecho GitHub Copilot —que sigue evolucionando— se ha convertido en una poderosa herramienta para este colectivo.

Lo curioso es que estas plataformas sirven también para que gente que no tiene conocimientos de programación pueda resolver sus necesidades con sorprendente éxito. Es lo que he querido comprobar con la nueva versión de GPT-4 que está disponible en Bing con ChatGPT, y que me ha permitido crear un pequeño clon del célebre Flappy Bird en apenas unos minutos. Así lo he logrado.

No tengo acceso a ChatGPT Plus, pero Microsoft ya confirmó hace unas horas que su nuevo Bing con ChatGPT lleva algunas semanas funcionando gracias a GPT-4. Aunque el chatbot de Microsoft tiene limitaciones —ahora permite 15 preguntas en cada chat, tras lo cual se “reinicia” y cambia de conversación—, fue posible usarlo para mi propósito.

De hecho, la petición fue muy simple, y aquí preferí usar el idioma inglés para pedirle que me podía escribir el código de un pequeño programa en Python para un juego similar a Flappy Bird. Sin más.

Eso hizo que Bing respondiera rápidamente con un código que, eso sí, se interrumpió por el límite de caracteres que puedes obtener como salida del chatbot. Aquí el truco es simple: si tras ese parón escribes “continue” (“continúa”), el motor seguirá donde lo había dejado.

Tan solo tuve que copiar y pegar ambos fragmentos de código en un nuevo fichero al que llamé “flap.py” en un directorio de mi Mac mini. El código, eso sí, mostraba que se usaban dos pequeños PNGs de llamados bird.png y pipe.png, así que le pregunté a Bing por las dimensiones de esos ficheros y dónde tenía que tenerlos guardados. Tras la explicación, busqué dos PNG que edité mínimamente para que respondieran a esas dimensiones, y los guardé en el mismo directorio donde estaba el código.

Tocaba probar si funcionaba. Tengo instalado Python en mi Mac, pero al ejecutar el compando “python3 flap.py” apareció un error: no tenía instalada la librería “pygame” que se invocaba al principio del código. ¿Qué hacer? Preguntar a Bing, claro.

Al hacerlo, me indicó que probara con el comando “pip install pygame“, pero al ejecutar ese comando en la terminal de macOS (una instancia del conocido zsh) también dio un error que indicaba que el comando no había sido encontrado. Una vez más probé a preguntarle a Bing, que me dio una alternativa: probar con el comando “python3 -m pip install pygame“. Este sí funcionó: asunto solucionado.

Tras ese último error, probé a ejecutar finalmente el pequeño fichero, y me quedé sorprendido: a los pocos instantes se abre una pequeña ventana en la que, efectivamente, se representa un clon de Flappy Bird funcional: si pulsas la barra espaciadora, el pajarito va impulsándose hacia arriba, y eso permite que puedas sortear los obstáculos en forma de tuberías.

El código, eso sí, hacía poco más, y al menos en el que me ofreció Bing el juego solo duraba hasta sobrepasar el primer obstáculo (o no lograrlo). Después, la ventana se cierra sin más. Eso no importa mucho, porque esta era solo una pequeña prueba de cómo alguien sin conocimientos de programación en Python como yo puede crear algo así de la nada en apenas unos minutos.

https://geo.dailymotion.com/player.html?video=x8hj0vy&

Mejorar ese código para hacer un juego más completo y pulido es totalmente factible, y solo sería cuestión de seguir preguntándole a Bing cómo poder ir añadiendo nuevas opciones e ir probando

Aquí es importante decir que ChatGPT también ofrece respuestas totalmente válidas a esta petición, pero quise probar desde Bing ahora que se ha actualizado a GPT-4. Queda por ver si las respuestas de uno y otro son realmente distintos, y aquí los desarrolladores profesionales serán los que nos acaben dando la respuesta más temprano que tarde.

python1

Python es el rey de los lenguajes de programación. Pero los viejos rockeros (Fortran, COBOL) siguen dando guerra

Si estás pensando en aprender un lenguaje de programación, probablemente uno de los claros objetivos de tu lista sea Python. Es algo lógico: este lenguaje se ha convertido en el más popular en los últimos años con la ayuda de la inteligencia artificial, donde se utiliza de forma extensiva.

La nueva lista de la prestigiosa IEEE Spectrum con los lenguajes de programación más importantes del mundo así lo confirma. Este organismo lleva años configurando ese particular ranking, y aunque Python domina en la clasificación general, cuidado, porque hay protagonistas sorpresa como SQL o los viejos rockeros, Fortran y COBOL, que mantienen un papel destacable más de medio siglo después de su creación.

El ranking de IEEE Spectrum ha tenido en cuenta una clasificación por popularidad general (Spectrum), otra más orientada a indicar los lenguajes más destacados en el ámbito profesional (Jobs) y una tercera con los lenguajes que más de moda están en los últimos meses.

Python domina en dos de los tres rankings, y es hasta cierto punto sorprendente ver cómo el lenguaje de gestión de bases de datos SQL es el más relevante en el ámbito profesional. Como explican en IEEE Spectrum, en realidad ese dato es engañoso, porque SQL es muy apreciado en entornos profesionales si además ese candidato tiene experiencia en alguno de los lenguajes populares tales como Java o C++, que siguen siendo protagonistas en estos entornos junto a JavaScript.

Las variantes del legendario lenguaje C tienen una relevancia combinada mayor que la de Python, sobre todo en ámbitos de alto rendimiento y en escenarios en los que se busca la eficiencia. Es lógico pensar así: Python es un lenguaje interpretado que necesita ese componente extra durante la ejecución, y eso hace que no sea óptimo para según ciertos ámbitos.

Hay también sorpresas con el papel modesto pero aún así destacable de lenguajes tan longevos como Fortran o COBOL. Ambos siguen usándose en instituciones científicas —como el prestigioso Oak Ridge National Laboratory—, o en agencias públicas y gubernamentales en las que sustituirlos no sale a cuenta.

Esta lista contrasta en algunos casos con la que cada año también publican en Stack Overflow. Hace unos meses ya señalaban allí como SQL estaba subiendo en relevancia, pero Javascript y HTML/CSS eran aún más usados que este y que Python. Lo curioso es que Rust es según esa clasificación el lenguaje más amado, pero en IEEE Spectrum ocupa una posición discreta en sus tres rankings, como Elixir (casi irrelevante) o Clojure, un “dialecto” del también legendario Lisp.

Lo que parece claro es que en ambos casos la relevancia de los Python, SQL, Java, JavaScript y tanto C como sus descendientes (C++, C#) sigue siendo espectacular frente a unas alternativas que son usadas de forma mucho más minoritaria. Eso no significa, cuidado, que haya que descartarlas: normalmente los salarios más elevados se los llevan los programadores de lenguajes poco populares como el citado Clojure, Zig (una especie de C 2.0), Erlang, F#, Lisp, Ruby o Elixir.

odoo-16

Odoo 16 “Más Rápido Que Un Parpadeo”

El pasado 16 de octubre se ha lanzado Odoo 16 y su CEO Fabien Pinckaers durante el lanzamiento ha afirmado que, durante su proceso, el gigante del ERP ha entendido que el tiempo es uno de los activos más valioso para las empresas y las personas; Por ello, afirmo que ahora no solo tienen una interfaz de usuario mucho más amigable que la de la mayoría de los ERP del mundo, sino que también Odoo ahora es más rápido que un parpadeo.  

Fabien pinkaers en el lanzamiento de Odoo 16

En la presentación, Fabien realizo un ejercicio paralelo entre la elaboración de una factura en el ya muy conocido SAP y Odoo. En SAP según los mismos asistentes presenciales al evento (quienes con cronometro llevaron el tiempo), la elaboración de la factura le tomo alrededor de 40 segundos mientras que con Odoo tomo solo 5. Aunque es cierto que juega en su favor el conocer Odoo al 100% “puesto que le da una ventaja en el ejercicio”, el nivel de automatización de los procesos “me atrevería a afirmar” puede reducir esos 40 segundos en una empresa normal tal vez a unos 15 lo que hace el proceso más que el doble de rápido.

Ahora llevemos este ejemplo hacia los costos. Si una compañía o persona elabora 50 facturas diarias quiere decir que en este proceso con SAP invertirá alrededor de 2000 segundo (33,3 minutos) y con Odoo serán 1250 segundos (20, 8 minutos). Una diferencia de 12 minutos aproximadamente, que si los proyectamos en una semana puede volverse una hora y en un mes media jornada laboral. Todo dependerá para este caso del nivel de facturación y ni hablemos de como aplicaría este ejercicio a los otros procesos dentro de la empresa.

Esta novedad y la bondad de no tener que andar clicando “SAVE” cada vez que se ingrese un dato, son apartados que realmente me han llamado la atención por el valor que hoy en día tiene el tiempo, sin dejar de lado los nuevos desarrollos para factory y eCommerce que también me han parecido interesantes y de los que espero poder hablarles en otra oportunidad.