Notas (8): código generado por humanos, código inspirado por humanos

Jeff Soules dio una charla sobre buenas prácticas de programación (particularmente acerca de técnicas para mejorar la legibilidad del código) y publicó las correspondientes diapositivas. Guillermo Luijk siempre escribe cosas interesantes. De entre sus últimas: Optimizando el paseo de perros con R Distribuciones normales en la torre de Pisa Perspectiva aérea desde mapa de elevaciones con C++ A Software Library with No Code describe un experimento que muchos considerarán distópico: usando LLMs, se pueden crear y compartir abstracciones reutilizables; en este caso concreto, descripciones detalladas sobre cómo debería funcionar una determinada librería pero sin escribir una sola línea de código tradicional. El usuario de esta metalibrería utilizaría un LLM para obtener una implementación en el lenguaje objetivo de su elección: Python, etc. Hay gente que utiliza LLMs para portar librerías de un lenguaje a otro; esta metalibrería representa un pequeño nivel adicional de abstracción: la descripción de lo que ha de hacer no está descrita en código sino en instrucciones verbales precisas e interpretables por los LLMs. Habría que ver si el lenguaje natural es preferible a código —que es una forma concreta de seudocódigo— para describir lo que se espera de la librería; porque lo que se espera de este (del código) es que sea más específico y menos ambiguo que aquel (el natural) a la hora de describir algoritmos fielmente.

16 de febrero de 2026 · Carlos J. Gil Bellosta

¿Acabaremos programando todos en nanolang?

Hace casi un año escribí ¿Acabaremos programando todos en ensamblador?, que comenzaba así: Un lenguaje de programación es un lenguaje que media entre el que nos es familiar a los humanos y el que reconocen las computadoras. Los lenguajes de alto nivel nos resultan más cómodos; los de bajo nivel, más crípticos. Todos conocemos, pienso, el trade-off. Hay lenguajes muy próximos a los humanos, como scratch o logo. Otros, a la máquina, como C o ensamblador. Mucha gente opta por uno en la zona media del espectro, como Python. ...

28 de enero de 2026 · Carlos J. Gil Bellosta

Sobre la sentencia del caso Bosco y algunos otros asuntos más

The fate of “small” open source presenta un probable estado futuro del mundo del desarrollo de software, uno en el que los pequeños proyectos dejen de ser relevantes porque sus potenciales usuarios pueden reemplazarlos perfectamente por código ad hoc generado por LLMs. En efecto, hace años creé un paquete mínimo de R con apenas un par de funciones que implementaban ciertas pruebas estadísticas no disponibles en ningún otro por aquel entonces. En 2025 no haría falta ese paquete: bastaría con pedirle a Claude una implementación en R, copiarla y pegarla. El autor del artículo enlazado se queja de que algo se perderá en el proceso; yo creo que es algo por lo que no vale la pena llorar. ...

4 de diciembre de 2025 · Carlos J. Gil Bellosta

¿Acabaremos programando todos en ensamblador?

Un lenguaje de programación es un lenguaje que media entre el que nos es familiar a los humanos y el que reconocen las computadoras. Los lenguajes de alto nivel nos resultan más cómodos; los de bajo nivel, más crípticos. Todos conocemos, pienso, el trade-off. Ahora todo el mundo programa en Python. Pero los hay que lo hacen de una manera rara: Hay un nuevo tipo de programación que llamo [Andrej Karpathy] “programación de vibraciones”, en la que te entregas por completo a las vibraciones, adoptas exponenciales y te olvidas de que el código existe. Es posible porque los LLM (por ejemplo, Cursor Composer con Sonnet) se están volviendo demasiado buenos. Además, solo hablo con Composer usando SuperWhisper, por lo que apenas toco el teclado. Pido las cosas más tontas como “reducir el relleno en la barra lateral a la mitad” porque soy demasiado vago para buscarlo. “Acepto todo” siempre, ya no leo los diffs. Cuando recibo mensajes de error, simplemente los copio y pego sin comentarios; generalmente, eso lo soluciona. El código crece más allá de mi comprensión habitual, tendría que leerlo realmente durante un tiempo. A veces, los LLM no pueden corregir un error, así que simplemente busco alternativas o pido cambios aleatorios hasta que desaparece. No está tan mal para proyectos de fin de semana intrascendentes, pero sigue siendo bastante divertido. Estoy desarrollando un proyecto o una aplicación web, pero en realidad no es programación: solo veo cosas, digo cosas, ejecuto cosas y copio y pego cosas, y en general funciona. ...

27 de febrero de 2025 · Carlos J. Gil Bellosta

Más ideas alrededor de la sentencia de lo del bono social de la luz

[En esta entrada abundo en lo escrito la semana pasada sobre el mismo asunto centrándome esta vez en la extraña interpretación que hace el derecho de la automatización, los algoritmos, la IA y todas esas cosas.] I. Comienzo con un par de historias que al principio podría parecer que no vienen al caso. Realicé mi primera declaración de la renta allá por el 93. En esa época, uno iba a un estanco y por 45 pesetas adquiría un sobre grande en el que venían: ...

21 de mayo de 2024 · Carlos J. Gil Bellosta

Ideas alrededor de la sentencia de lo del bono social de la luz

I. En España se ideó un sistema para que los menesterosos disfrutasen de luz cuasigratuita al que se le dio el nombre de bono social eléctrico (o similar). Para recibirlo, el interesado tiene que acreditar una serie de hechos objetivos; luego, un algoritmo determinista —del que la ley y sus reglamentos son el seudocódigo— determina la procedencia o no del bono. Ese algoritmo se implementó en un programa llamado BOSCO. ...

16 de mayo de 2024 · Carlos J. Gil Bellosta

Mnemo, la aplicación

Mnemo es una pequeña aplicación que he construido para ayudarme a recordar esas cosas que me consta que se me van a olvidar: palabras, conceptos simples, nombres de personas, etc. Externamente se ve como un canal (privado) de Telegram en el que un par de veces al día me aparecen notificaciones con un resumen de la cosa. Internamente, es la combinación de tres cosas: Una base de datos en Notion. Un bot de Telegram. Un workflow de n8n que corre en mi servidor local y que orquesta todo el proceso. La base de datos la actualizo manualmente. Cada vez que tropiezo con algo que merece la pena ser recordado, añado un registro con información básica: un rótulo, una breve descripción, un enlace para indagar más. ...

29 de junio de 2023 · Carlos J. Gil Bellosta

Acciones "disparadas" por chatGPT (y sus verdaderos peligros)

Para la inmensa mayoría, chatGPT es lo que su nombre indica: un chat. Le preguntas y te responde. Pero lo siguiente es un ejemplo de algo perfectamente factible hoy. Creas un programa que monitorea tu bandeja de entrada. Cuando llega un correo nuevo, le pasa el texto a chatGTP (versión API) con un prompt adecuado. Dependiendo de la respuesta, se toma una determinada acción. Por ejemplo, enviar un aviso vía Telegram. Por ejemplo, el propmt podría ser algo así como: ...

2 de mayo de 2023 · Carlos J. Gil Bellosta

Código para resolver "wordles" en español

Este soy yo hoy mismo: Este es mi script: carlos@tiramisu:~$ wordle señor Intento 1 -> seria Quedan 2 opciones. Las más populares son: señor : 228.79 segur : 0.23 Intento 2 -> señor Solución en 2 intentos: señor Mi pequeño script tiende a ganarme. Lo cual me satisface enormemente. En caso de que a alguien le interese, puede bajárselo de aquí. Existen dos versiones que implementan el mismo algoritmo, una en R y otra en Python. Las instrucciones de uso están en el repo. ...

18 de abril de 2023 · Carlos J. Gil Bellosta

Programación: aspectos sicológicos

Esta entrada tiene una doble (o triple) motivación. Por un lado, servir de introducción a otra en la que se tratará la sicología de la estadística y la ciencia de datos. Por otro, plantear una serie de cuestiones —sin intención de aportar solución alguna— relevantes sobre el asunto. Y si se me permite, una tercera: dejar constancia que en su día semileí el librito The Psychology of Computer Programming, que fue el que me ha hecho pensar de vez en cuando sobre estos asuntos y prestarles atención desde entonces. ...

14 de febrero de 2023 · Carlos J. Gil Bellosta