США: В MIT создали язык программирования Ur/Web, объединяющий возможности HTML, CSS и JavaScript

3

Создание относительно сложной веб-страницы требует понимания целого ряда языков, включая HTML, CSS и JavaScript. Исследователи из Массачусетского технологического института утверждают, что интегрировали все эти технологии в новый единый язык программирования, позволяющий упростить и ускорить разработку веб-сайтов и сделать их надежнее и безопаснее.


Язык под названием Ur/Web позволит разработчикам создавать веб-страницы как самостоятельные замкнутые программы. А, так как он включает большинство самых популярных из современных веб-технологий, разработчик будет освобожден от работы с каждым из языков по отдельности. “Я думаю, что этот язык может найти очень широкое применение, так как он способен сократить издержки на веб-разработку во многих случаях”, – заявил создатель Ur/Web Адам Члипала (Adam Chlipala), помощник профессора из Массачусетского технологического института. Он добавил, что язык обладает большей степенью универсальности по сравнению с современными веб-стандартами. Сейчас разработчику для создания сайта нужно знать несколько языков программирования и веб-технологий:

HTML – позволяет сформировать макет страницы;

CSS – определяет свойства элементов страницы;

JavaScript – позволяет внедрить расширенные функции и интерактивность;

PHP – язык, используемый для создания популярных систем управления контентом;

SQL – язык структурированных запросов для работы с базами данных.

Ur/Web включает в себя функции и возможности всех отдельных языков, на которых пишутся веб-сайты, и компилирует их в исполняемый машинный код. Так как код Ur/Web скомпилирован заранее, производительность получается более высокой по сравнению с традиционными методами разработки веб-сайтов, утверждает Члипала. В одном из тестов Ur/Web показал в два раза более высокую скорость по сравнению с PHP.

“В Ur/Web все базируется на транзакциях, когда каждый клиентский запрос обрабатывается поочередно своего рода центральной функцией, – объяснил автор. – Язык при этом оптимизирован с той целью, чтобы он мог обрабатывать одновременно множество параллельных запросов на физических серверах”.

Помимо облегчения для части разработчиков, новый язык привносит некоторые новые механизмы, помогающие повысить надежность и безопасность сайтов. Так, он позволяет исключить возможность взаимодействия между различными элементами на одной странице – например, кодом рекламного объявления и виджетом календаря.

Кроме того, как и традиционные языки программирования, такие как C, Pascal и Java, и в отличие от веб-языков, таких как JavaScript, Ur/Web имеет жесткую типизацию. То есть все переменные связываются с определенным типом данных в самом начале, и затем этот тип уже нельзя изменить. Это затрудняет взлом сайта посредством отправки специальным образом сформированных команд с помощью форм на веб-страницах. Ur/Web также поддерживает задание областей видимости переменных, то есть позволяет ограничить те места, из которых переменная в программе может быть вызвана.

Но есть у нового языка и недостаток. Он требует освоения функционального программирования. Эта задача будет сложной для тех, кто привык иметь дело с процедурными и объектно-ориентированными языками (С, Pascal). Члипала сравнил Ur/Web с функциональным языком программирования Haskell. Многие программисты считают его чем-то потусторонним, но небольшая группа разработчиков любит и почитает этот язык за его вычислительные возможности. (Новости/NovostIT)