Глобальная сетевая среда могла бы быть более безопасной, если бы не уязвимости, появляющиеся в результате использования обычного подхода к программированию - в результате смешивания с элементами основной программы различных технологий, таких как последовательности SQL-запросов, javascript-код, позволяющий реализовать взаимодействие с пользователем. Но, инженеры-программисты из университета Карнеги Мелоун нашли способ защиты от вышеописанной угрозы, что позволяет защитить одновременно и веб-сайты и компьютеры пользователей, и этим способом является разработанная ими новая система программирования Wyvern, которая позволяет использовать несколько совершенно разных языков программирования при создании одной компьютерной программы.
Система Wyvern является чем-то вроде компилятора одного мета-языка, в состав которого входят все известные и популярные языки программирования. Эта система позволяет программистам разрабатывать веб-страницы и приложения, используя напрямую все возможности С, PHP, HTML, CSS, javascript и других языков, и избегая необходимости использования некоторых искусственных приемов, которые являются источниками потенциальной опасности.
Известно, что в подавляющем большинстве случаев использование разных языков программирования требуется при создании веб-сайтов. Большая часть информации, которую вы видите на экранах браузеров, написана на HTML, CSS и генерируется динамически при помощи языка PHP. А страницы, содержащие сложные формы и загружающие информацию сразу по мере набора запроса в строке поиска, обычно используют связку javascript-а с каким-либо скрипт-языком (Lua, PHP или Python). Если вы заходите на страницу своего банковского счета или в интернет-магазин, то предоставляемая вам информация составляется на базе информации, черпаемой из баз данных при помощи SQL-запросов.
Избежание проблем безопасности, которые создают эти многочисленные вложения различных кодов, является не единственной положительной чертой системы Wyvern, эта система берет на свои плечи львиную долю забот о сопряжении различных языков, делая ненужным длительный и сложный процесс отладки и тестирования создаваемого программного обеспечения.
"Система Wyvern весьма походит на квалифицированного посредника-переводчика, который может моментально переключаться с одного языка на другой, обеспечивая комфортную совместную работу команды людей различных специальностей и из различных стран" - рассказывает профессор Джонатан Олдрич (Jonathan Aldrich), - "И чем больше эффективность работы такого человека или системы, тем большую эффективность и скорость работы демонстрирует человек или группа, занимающаяся разработкой программного обеспечения".
Система Wyvern является далеко не единственным подобным проектом, который предназначен для реализации технологий мета-программирования на различных языках. Существуют еще и другие проекты, такие, как ProteaJ, Scheme, OJ и Spoofax, которые рассматривают вышеописанные проблемы под различными углами зрения. Но создатели системы Wyvern утверждают, что именно их система обеспечивает максимальный баланс между функциональностью и удобством пользования, что позволит при помощи этой системы программирования создавать мульти-язычные программы, используя широкий набор языков программирования и свободно мешая код, написанный на этих языках.
Система Wyvern в настоящее время еще не готова к массовому использованию, ядро системы может обеспечить только выполнение некоторых базовых функций. Но, по мере дальнейшей разработки системы она будет обрастать новыми возможностями и функциями и, в конце концов, может стать вполне жизнеспособной вещью. А те, кто захочет поэкспериментировать с системой Wyvern уже сейчас, могут это сделать, обратившись на страницу проекта на известном сервисе GitHub.
Источник: www.dailytechinfo.org
|