Сооснователь WebAssembly Бен Титцер рассказал о своих планах по развитию собственного языка программирования Virgil.
На данный момент Титцер возглавляет Исследовательский центр WebAssembly в Университете Карнеги-Меллон, где также является главным исследователем в департаменте ПО и общественных систем. Центр фокусируется на продвижении исследований WebAssembly в академической среде, обучении студентов и поддержке внедрения WebAssembly в новые области.
Помимо своей работы в университете, Титцер активно развивает свой собственный язык программирования Virgil и виртуальную машину Wizard, которая может изменить способ выполнения программного обеспечения. В прошлом месяце Титцер рассказал о своих проектах в интервью на YouTube-каналеMicroarch Club, где он обсудил свои достижения с ведущим инженером Golioth Дэном Магнумом.
Титцер увлекся программированием ещё в школьные годы, когда писал интерпретатор на языке ассемблера x86 для собственного байт-кода. В студенческие годы Титцер уже знал, что хочет создать новый язык программирования под названием Virgil.
Virgil – это язык, предназначенный для создания легковесных и высокопроизводительных систем. Компилятор языка производит быстрые нативные исполняемые файлы, модули WebAssembly или JAR-файлы для JVM.
В интервью Титцер отметил, что стремится сделать Virgil отличным языком системного программирования, который сочетает в себе современные возможности и избавляется от устаревших элементов. Титцер считает, что Rust не может делать то, что умеет Virgil, и называет его язык идеальным для написания виртуальных машин, компиляторов, ядра операционных систем и сетевых стеков.
Одной из уникальных особенностей языка является возможность интеграции машинного кода в функции Virgil. Титцер признает, что это небезопасная операция, но необходимая для выполнения некоторых инструкций, которые компилятор не может генерировать самостоятельно.
Титцер также продолжает работу над виртуальной машиной Wizard, которая полностью написана на языке Virgil и предназначена для выполнения WebAssembly. Он называет Wizard исследовательским движком и считает его важным инструментом для анализа и отладки программ.
В интервью Титцер выразил надежду, что WebAssembly станет универсальной программной основой, на которую смогут компилироваться все языки программирования. Он видит большой потенциал в использовании WebAssembly для различных приложений, от встроенных систем до видеоигр. А встроенная модель безопасности и механизма импорта/экспорта поможет упростить анализ программ.
На вопрос о будущем WebAssembly, Титцер выразил уверенность в его росте и значимости в программном обеспечении. Он видит потенциал в том, чтобы сделать WebAssembly основой для всех языков программирования, что позволит запускать любые программы на любой платформе.
Титцер также подчеркнул важность обучения следующего поколения студентов основам виртуальных машин, компиляторов и оптимизаций. Титцер надеется, что сможет использовать Wizard в образовательных целях и вдохновить студентов на работу в этих областях.