Программисты научились совмещать несколько языков в одной программе
Ученые Университета Карнеги-Меллон разрабатывают язык программирования, специально предназначенный для защиты компьютеров и веб-сайтов от уязвимостей в строчках кода.Wyvern, как они его назвали, является своего рода мета-языком. Он позволяет программистам разрабатывать приложения и веб-страницы, используя все разнообразие языков программирования и сценариев — например, SQL для запросов к базам данных или HTML, CSS и JavaScript для построения веб-страниц, причем каждый язык будет функционировать полноценно, так что нет необходимости использовать сложные и потенциально небезопасные методы обхода в тех случаях, когда требуются несколько языков.
Сочетать разные языки часто требуется в демонстрации контента на веб-сайтах. Большая часть слов и изображений, которые мы видим на страницах, кодируются в HTML и CSS, либо обрабатываются в реальном времени в соответствии с PHP-запросами или в виде файлов, загруженных с сервера. Эти сложные запросы занимают много времени и требуют тщательного тестирования, чего можно будет избежать с помощью языка Wyvern. Он «понимает» и идентифицирует запросы, обрабатывая данные и объекты как фиксированные значения данного типа в язык, соответствующий этому типу (то есть, SQL-запрос будет рассматриваться в виде SQL, а не в виде строки текста, который должен быть проанализирован с помощью специальной функции).
«Wyvern — как опытный международный переговорщик, который может плавно переключаться между языками, чтобы заставить эффективно работать вместе целую команду людей, — говорит один из разработчиков, доцент Джонатан Альдрих. — Такой человек может быть чрезвычайно эффективным и я думаю, что наш метод окажет большое влияние на программирование». Wyvern еще не готов к полноценному использованию, но основные функции проекта уже реализованы.