Wyvern - новая система, позволяющая использовать несколько разных языков программирования при создании одной программы

Друзья, с момента основания проекта прошло уже 20 лет и мы рады сообщать вам, что сайт, наконец, переехали на новую платформу.

Какое-то время продолжим трудится на общее благо по адресу https://n-n-n.ru.
На новой платформе мы уделили особое внимание удобству поиска материалов.
Особенно рекомендуем познакомиться с работой рубрикатора.

Спасибо, ждём вас на N-N-N.ru

Глобальная сетевая среда могла бы быть более безопасной, если бы не уязвимости, появляющиеся в результате использования обычного подхода к программированию – в результате смешивания с элементами основной программы различных технологий, таких как последовательности 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.

Пожалуйста, оцените статью:
Ваша оценка: None Средняя: 5 (4 votes)
Источник(и):

1. dailytechinfo.org