Играми, разработанными на C#, сегодня никого не удивить: этот язык очень популярен в геймдеве, и доступен для большинства популярных игровых движков. А можно ли на C# написать операционную систему или программу, которая запускается вовсе без операционной системы?
Благодаря возможности ahead of time компиляции в нативный код, что не так давно существует в .NET, стало возможным писать C# код, выполняющийся без рантайма или с его минимальной заменой.
Михал Стреховский (Michal Strehovsky), инженер из команды рантайма .NET, разработал интересный пример, демонстрирующий прототип игры, основанной на рейкастере и загружаемый без операционной системы. Игра написана на C# и компилируется в бинарник без рантайма, который может быть запущен на любом современной x86-совместимом компьютере с UEFI boot.
У автора также есть реализация аналогичной игры на C# без внешних зависимостей, которая работает в Windows и занимает меньше 2 килобайт.
Если хотите попробовать любительский osdev, а выбор C или Rust покажется заурядным, — почему не обратить внимание на C#?
#fun