El lenguaje, llamado Ur/Web, proporciona una manera única de escribir páginas, al modo de un programa independiente, pero incorporando muchas de las tecnologías web más utilizadas en la actualidad, lo que liberaría al programador de tener que trabajar con diferentes lenguajes independientes.

"Creo que es una iniciativa con potencial de ser aplicable y capaz de reducir los costes de desarrollo web en muchos entornos", subraya el autor del mismo, Adam Chlipala, profesor asistente del  MIT.

Chlipala presentará su trabajo en un simposio sobre los principios de los lenguajes de programación que tendrá lugar en India entre el 12 y el 18 de enero, y explicará cómo ha logrado comprimir la amplia gama de diferentes lenguajes, así como la forma en la que éstos interactúan.

Hypertext Markup Language (HTML) ofrece el formato básico para crear una página web, pero hay toda una gama de tecnologías adyacentes que normalmente comprenden desde Hojas de Estilo en Cascada (CSS) hasta Lenguaje de Marcación Extensible (XML) para establecer las estructuras de datos y su proceso y clasificación. Por su parte, JavaScript proporciona la base para escribir la lógica del negocio y las interacciones con el usuario. Y si los datos se almacenan en una base de datos, un desarrollador necesita saber SQL (Structured Query Language) también.

Ur/Web encapsula todas las capacidades de este tipo de herramientas de desarrollo web en un solo lenguaje, que se compila en código máquina y es ejecutable.

Debido a que se compila código Ur/Web, puede ser mucho más eficiente a la hora de hacer funcionar otros lenguajes de desarrollo web habituales, sostiene Chlipala. "En Ur/Web, todo se basa en las transacciones, que gestionan una sola solicitud del cliente cada vez y tiene capacidad para soportar muchas peticiones en paralelo”, señala.

El lenguaje prohíbe interacciones no deseadas entre los diferentes elementos de la página y, con este límite, el código embebido de los anuncios no interfiere con otras partes de la página, por ejemplo.

El lenguaje tiene una desventaja potencial. Para un desarrollador medio, la curva de aprendizaje puede ser larga y difícil.