Bespoke, el lenguaje de programación que exige buenas maneras al compilador
Bespoke introduce una sintaxis cortés y tipado estricto, obligando a los desarrolladores a dirigirse al compilador con formalidad.

Bespoke es un nuevo lenguaje de programación estáticamente tipado que reemplaza los imperativos bruscos por interacciones educadas con el compilador. Cada instrucción debe iniciar con una forma de cortesía, especificar su propósito y terminar con un agradecimiento. Por ejemplo, declarar una variable ya no es int carriageCount = 0; sino:
Dear Compiler,
Would you be so exceptionally kind as to allocate a slot for an Integer Number known henceforth as carriageCount, initialised with the value 0?
Thank you ever so much.
El lenguaje usa la extensión .charming y rechaza los puntos y coma, considerándolos equivalentes a “cerrar la puerta con violencia”. Los bloques de control también siguen una etiqueta protocolar; un if se escribe como una pregunta al “court” y cada rama concluye con una despedida apropiada.
Tipado formal y nomenclatura completa
Bespoke es nominalmente tipado: los tipos aparecen en forma completa (An Integer Number, A Rational Fraction, A Textual Passage). No existen abreviaturas como int o bool. Los valores booleanos solo admiten los literales Quite True y Patently False; una tercera opción provisional, Perhaps, fue descartada por falta de determinismo. Los colores forman un espacio de nombres propio (Colour.BritishRacingGreen) y cualquier referencia a la ortografía americana (Color) genera un error de compilación.
Mutación con disculpa
Cambiar el valor de una variable requiere una petición formal al compilador. Un intento directo como carriageCount = 42 produce el diagnóstico B-101, Blunt Imperative y detiene la compilación hasta que el programador reformule la acción con una disculpa. La gestión de memoria sigue la misma lógica: la recolección automática se solicita mediante una carta al entorno anfitrión, mientras que la liberación manual debe acompañarse de una expresión de gratitud; omitirla se considera comportamiento indefinido.
Control de flujo y concurrencia
El flujo condicional se plantea como una solicitud al “court”. Un ejemplo de rama if‑else se traduce en dos mensajes al Output Console, cada uno precedido por una fórmula de cortesía y finalizado con “Thank you kindly”. La concurrencia se introduce sin “shoving”; los hilos y objetos compartidos reciben correspondencia directa, pero cualquier operación que no incluya la debida etiqueta de respeto será rechazada por el compilador.
Estado actual y perspectivas
En su versión preliminar, Bespoke carece aún de un ecosistema robusto y la herramienta de compilación está limitada a análisis sintáctico y semántico básico. No obstante, el proyecto ya ha generado discusión en la comunidad de lenguajes por su enfoque sociocultural y por la posibilidad de que la formalidad obligatoria reduzca errores por descuido. La especificación está disponible bajo una licencia permissiva en GitHub, y el autor invita a contribuir con extensiones que mantengan la “civilidad” del código.
Aunque aún es una curiosidad académica, Bespoke plantea preguntas sobre cómo las convenciones de código pueden influir en la cultura de desarrollo y en la calidad del software. Queda por ver si alguna organización adoptará esta etiqueta de cortesía o si el lenguaje evoluciona hacia una sintaxis más práctica.


