Для работы с ним потребуется:
По словам одного из создателей языка, Бена Тицера, который также принимал участие в разработке WebAssembly, Virgil не ставит своей целью конкурировать с другим молодым языком Zig, предназначенным для подобных задач.
Virgil лишен устаревших недостатков и обладает мощными возможностями для написания надежного системного кода. Среди потенциальных областей применения — виртуальные машины, компиляторы, ядра операционных систем, сетевые стеки и другие низкоуровневые компоненты.
Сейчас, наряду с Rust, появляется много новых языков, ориентированных на создание легковесных высокопроизводительных систем с кроссплатформенными компиляторами, пишут в Secuirtylab. При этом, по утверждению Тицера, Rust не может выполнять некоторые задачи, которые под силу Virgil.
За основу взята идея исключения устаревших элементов при проектировании высокопроизводительных систем. Вместо этого учитываются современные требования к оптимизации компиляторов, структурам кода, обработке ошибок, безопасности и другие факторы, важность которых менялась с течением времени. Например, сегодня память – довольно дешевый ресурс, но безопасность имеет первостепенное значение, в то время как 30 лет назад ситуация была обратной.
Virgil предоставляет возможность эффективной кросс-компиляции, генерируя машинный код или байт-код в зависимости от целевой платформы. Сам язык использует подобный кросс-компилятор, так что весь тулчейн написан на нем же. Программировать можно как в объектно-ориентированном стиле, так и в функциональном, что иногда называют мультипарадигмальным подходом.