Developpez.com

Le Club des Développeurs et IT Pro

Ur/Web : un langage pour faciliter la programmation web

Et développer des applications plus sécurisées, conçu par un professeur du MIT

Le 2014-12-24 13:30:57, par Michael Guilloux, Chroniqueur Actualités
Une page Web aujourd'hui est le résultat d'un certain nombre d'éléments en interaction, comme des feuilles de style en cascade (CSS), le code HTML, les requêtes de base de données ad hoc, et des fonctions JavaScript. Garantir une interaction optimale de ces éléments est une mission importante pour un développeur web, mais peut-être aussi une tâche fastidieuse.

Dans un document présenté à l’ « Association for Symposium Computing Machinery » sur les principes des langages de programmation, Adam Chlipala, professeur de technologie logicielle, a décrit un nouveau langage de programmation, appelé Ur/Web.

Ce nouveau langage permet aux applications web d'être développées comme des programmes exécutables. Le compilateur du langage, le programme qui convertit les instructions de haut niveau en code machine exécutable, génère automatiquement le code XML et les spécifications de feuille de style correspondantes et intègre le JavaScript et le code base de données dans les emplacements appropriés. Ur/Web permet de coordonner automatiquement les interactions entre les composants des pages web.

Selon Chlipala, Ur/Web rend non seulement les applications Web plus faciles à développer, mais encore plus sécurisées.
« Disons que vous voulez avoir un gadget calendrier sur votre page web, et vous allez utiliser une bibliothèque qui fournit le gadget et sur la même page il y a aussi une boîte de publicité qui est basée sur le code qui est fourni par le réseau publicitaire », a déclaré Chlipala. « Ce que vous ne voulez pas, c'est que le réseau publicitaire soit en mesure de changer la façon dont fonctionne le calendrier ou que l'auteur du code du calendrier puisse interférer avec les annonces. » Ur/Web interdit automatiquement ce genre d'accès non autorisés entre les éléments d'une page.

La capacité d’Ur/Web à assurer, à la fois, une protection de sécurité et de coordonner des technologies Web disparates découle de deux propriétés qu'il partage avec la plupart des langages de programmation comme C ++ ou Java. La première est qu'il est « fortement typé.» Cela signifie que toute nouvelle variable que définit un programmeur à Ur/Web est limitée à un type de données particulier. De même, toute spécification d'une nouvelle fonction doit inclure le type des données affectées à la fonction et le type de données qu'elle retourne.

Dans le calcul de la valeur de retour, la fonction peut avoir besoin de créer des variables intermédiaires. Mais ces variables sont inaccessibles au reste du programme. C'est la deuxième propriété, connue comme « la portée des variables». Ur/Web limite la portée des variables définies dans les fonctions.

Source : MIT News

Et vous ?

Que pensez-vous du nouveau langage de programmation web ?
  Discussion forum
2 commentaires
  • polaroid62
    Membre habitué
    L'objectif semble être le même que Ocsigen ou le langage Opa d'ailleurs mentionnés dans ce document http://adam.chlipala.net/papers/UrWe...rWebPOPL15.pdf
  • oxedet
    Membre habitué
    Bon nombre de développeurs ne jurent que par les approches MVC. Or, à la première lecture du langage, on constate une démarche totalement inverse : on veux tout intégrer en une seule écriture, je me trompe ?