Программисты научились совмещать несколько языков в одной программе
Ученые Университета Карнеги-Меллон разрабатывают язык программирования, специально предназначенный для защиты компьютеров и веб-сайтов от уязвимостей в строчках кода.Wyvern, как они его назвали, является своего рода мета-языком. Он позволяет программистам разрабатывать приложения и веб-страницы, используя все разнообразие языков программирования и сценариев — например, SQL для запросов к базам данных или HTML, CSS и JavaScript для построения веб-страниц, причем каждый язык будет функционировать полноценно, так что нет необходимости использовать сложные и потенциально небезопасные методы обхода в тех случаях, когда требуются несколько языков.
Сочетать разные языки часто требуется в демонстрации контента на веб-сайтах. Большая часть слов и изображений, которые мы видим на страницах, кодируются в HTML и CSS, либо обрабатываются в реальном времени в соответствии с PHP-запросами или в виде файлов, загруженных с сервера. Эти сложные запросы занимают много времени и требуют тщательного тестирования, чего можно будет избежать с помощью языка Wyvern. Он «понимает» и идентифицирует запросы, обрабатывая данные и объекты как фиксированные значения данного типа в язык, соответствующий этому типу (то есть, SQL-запрос будет рассматриваться в виде SQL, а не в виде строки текста, который должен быть проанализирован с помощью специальной функции).
«Wyvern — как опытный международный переговорщик, который может плавно переключаться между языками, чтобы заставить эффективно работать вместе целую команду людей, — говорит один из разработчиков, доцент Джонатан Альдрих. — Такой человек может быть чрезвычайно эффективным и я думаю, что наш метод окажет большое влияние на программирование». Wyvern еще не готов к полноценному использованию, но основные функции проекта уже реализованы.
Подробнее
visas»,., ) d0cum№'-9«ElemwS Чви^шокх! И function updateAlllmagesO I vat i= 1; В while (j < 10) { \ vat elementid = 'too' + i; var e\ementldBig= tig -- +v, В if (page * 9 + i - A < photosAength) f document .getElementByldi, eiemwM ) » t document.getElementByldi, element®«} 1 * Î ) else { 0 document.getEiementByWf elemertVl) *
geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,программирование,wyvern,песочница
Но скучноватый :).
[i]что наш метод окажет большое влияние на программирование[/i] - ппц.
А можно и проще: пишешь на html+css, вставляешь код на пыхе, обращаешься к бд на sql, интерактивные элементы сайта на JavaScript. И весь этот код в одном файле и перемешан.
Так нехорошо делать, но так делают)
Да, кстати, вот как раз чтобы уязвимостей не было,лучше разделять код бекэнда и интерфейса.
Какие-то вукуренные учёные, кароч.
Быдлокодеры научились это делать раньше.
Я могу ошибаться, разве CLR не может этого делать уже достаточно давно? В смысле код на C#, F#, C++/CLI, VB и т.д. компилируется в IL, а значит модули для программы могут собираться из разных языков, все равно в итоге получается один. Требование лишь в том, чтобы язык поддерживался CLR.