Всем привет! Долгое время канал не обновлялся, и у меня висит "технический долг" по нейросеткам и OpenGL, но пока что нет возможности продолжать писать в этом направлении. Надеюсь, в скором будущем всё наладится и войду в привычный режим.
Что ж, тем временем я решил изучить какой-нибудь новый модный язык программирования. Поначалу взялся за Go, но вовремя почитал его критику и понял, что мне с ним будет совсем неинтересно. Поэтому выбор пал на Rust.
Go и Rust объединяет синтаксис, похожий на C, отсутствие ООП (как и в C), плюс какие-то хипстерские приколы, которые якобы делают всё проще и легче. На деле, конечно, всё не так.
Но конкретно Rust привлёк меня необычным механизмом работы с памятью, который явно повлияет на старые привычки. По идее, должен получиться некий более надёжный и (почти) такой же быстрый вариант C.
Поэтому для пробы я напишу на нём клон игры Apple из библиотеки БК-0010. Заодно проверю, как он взаимодействует с SDL2.
Инсталляция
Делаю всё в режиме прямого репортажа. Рекомендуемый способ инсталляции – утилита rustup, но мне не хочется плодить сущности. Поэтому я попробую скачать и установить дистрибутив для Windows. Так как в качестве компилятора C у меня установлен не Visual Studio, а GNU Toolchain (MinGW), то выбираю соответствующую версию дистрибутива.
Windows, а точнее браузер Edge, сразу же запретил его сохранять, дескать он может нанести вред компьютеру, так что надо дополнительно разрешить сохранение.
Дальше как обычно жму на "Установить", и...
Опять "защита". Ладно, всё равно запускаем.
Выбираю для установки папку, в которой у меня установлены все остальные языки и инструменты. Почему такое имя? Да просто чем короче, тем проще, и тем меньше места они занимают в переменной окружения PATH. Всякие C:\Program Files\... это издевательство.
Оставляю все опции по умолчанию:
И поехали.
Установка завершается, и дальше я оставлен на произвол судьбы. Пойду посмотрю, что там получилось. Скромненько, но чистенько:
Время написать какую-нибудь программу. Создал папку проекта rust_apple и в ней файл main.rs:
Синтаксис программы можно сослепу принять за С, но есть кое-какие отличия, которые обсудим позже. Компиляция происходит просто, из командной строки:
rustc main.rs
И в результате получается файл main.exe размером всего... 4 мегабайта? Нет, ребята, это не С :)
Запускаю программу для проверки:
Ну в общем-то всё пока нормально, так что завтра можно продолжить.
Читайте дальше: Подключаем SDL2