Microsoft Предлагает Rust Для Windows


Rust, похоже, является великим спасителем программирования на данный момент, и Microsoft является последней, кто прыгнул на подножку с Rust для Windows.

Я не говорю, что прыгать на подножку ржавчины-это плохо, но Microsoft-интересный попутчик в путешествиях. В недавнем мире Microsoft существовало только два языка – C++ как язык системного программирования и C# для всего остального. После краха Windows 8 Microsoft стала всеядной, когда дело дошло до языков, приняв JavaScript, Python и все, что попадало в поле зрения.

Остается вопрос, является ли Rust просто еще одним языком для добавления в коллекцию, которую, по мнению Microsoft, можно поддерживать. Например, есть серия руководств “Начало работы с” – “Начало работы с” – Python, Node.js, Android, C++, C#, Docker, PowerShell, База данных, а теперь и Rust. Однако в середине всего этого есть та новость, что теперь у нас есть ржавчина для окон. Это не просто использование Rust для разработки какой-то универсальной консольной программы, а проект по представлению API Windows программе Rust через ящик Windows. Это, по-видимому, включает в себя все, от базовых оконных функций до Xaml. Все это возможно благодаря проекту метаданных Windows, который описывает API в машиночитаемой форме, которая может быть автоматически преобразована в Rust:

То, что Microsoft может поиграть с Rust, неудивительно, но это первый случай, когда Microsoft проявила привязанность к языку, который мог бы заменить C++ при создании Windows и многих инструментов и приложений Windows. В последнее время было много разговоров о том, чтобы позволить ржавчине проникнуть в ядро Linux, может быть, команда Windows думает о том же? Если судить по прошлому опыту, они, вероятно, смыкают ряды и защищают C++ как можно энергичнее – все равно это не значит, что этого не произойдет.

С другой стороны, вам должно быть немного грустно видеть первый пример на сайте Windows Rust. Все начинается достаточно хорошо:

fn main() -> windows::Результат<()> {

пусть doc = XmlDocument::new()?;

doc.loadXML(“hello world“)?;

пусть root = doc.documentElement()?;

утверждайте!(корень.nodeName()? == “html”);

утверждайте!(корень.innerText()? == “привет, мир”);

но потом мы врезаемся в:

небезопасный {

пусть event = CreateEventW(std::ptr::null_mut(), true, false, None);

SetEvent(событие).ok()?;

WaitForSingleObject(событие, 0);

CloseHandle(событие).ok()?;

MessageBoxA(Нет, “Текст”, “Подпись”, MESSAGEBOX_STYLE::MB_OK);

}

Нет особого смысла принимать ржавчину, если вам придется прибегнуть к “небезопасному” в первый раз, когда что-то выглядит сложным. Является ли ржавчина для Windows достаточно опасной, чтобы ее стоило рассмотреть. Интересный вопрос…


Добавить комментарий