Качественные инструменты обеспечивают качественную работу. Язык программирования Rust и люди, которые его используют, создают новый класс высококачественных инструментов для машинного обучения, встраиваемых систем и сред разработки.

Rust берет мощь и точность C и преодолевает некоторые из основных недостатков C. Преодолевая проблемы с памятью и управлением потоками, Rust делает рабочие сессии более продуктивными и удовлетворительными. Чтобы получить представление о Rust с точки зрения опытного разработчика C, эта страница представляет вдумчивое исследование, в том числе:

Rust обеспечивает потокобезопасность всего кода и данных, даже в сторонних библиотеках, даже если авторы этого кода не обращали внимания на потокобезопасность. Все либо поддерживает определенные гарантии безопасности потоков, либо не может быть разрешено для использования между потоками. Если я напишу какой-либо код, который не является потокобезопасным, компилятор точно укажет, где он небезопасен.

Преимущества безопасности памяти и безопасности потоков остро ощущаются при разработке микропрограмм, когда ограничения встроенных систем усугубляют проблемы с кодом. Разработка встроенного ПО часто сопряжена с разочаровывающими сеансами отладки и мучительной неуверенностью в истинной надежности готового продукта. Сообщество Rust Embedded использует преимущества Rust, чтобы вывести разработку прошивки на новый уровень. Две из их заявленных целей:

Чтобы улучшить абсолютное качество (функциональность, безопасность, производительность) встроенного программного обеспечения в дикой природе.

Повысить производительность групп разработчиков встраиваемого программного обеспечения за счет снижения материальных и нематериальных затрат на достижение определенного уровня качества.

Тем временем эксперты по машинному обучению, обеспокоенные итоговой производительностью и простотой разработки, обращаются к Rust. ModelFox объясняет, как они написали самую быструю библиотеку GBDT на Rust.

В ходе разработки своего продукта машинного обучения команда столкнулась с обычными проблемами с менеджерами пакетов, средами компиляции/запуска и адом зависимостей. Сейчас они сосредоточены на создании Tangram, инструмента, который позволит им точно указывать зависимости в каждом состоянии коммита Git. В конечном счете, они хотят, чтобы инструмент надежно создавал код на любой платформе с использованием автономных пакетов, не требующих использования виртуальных машин.

Tangram — это программируемая система сборки и менеджер пакетов, в которой все зависимости указываются явно и закрепляются с помощью файла блокировки. Вы получаете одни и те же версии каждого пакета на каждой машине, поэтому ваши сборки просты, воспроизводимы, кэшируемы и распространяемы.

Все, что вы создаете с помощью Tangram, автономно и изолировано от остальной части вашей системы, поэтому вы можете попробовать программное обеспечение, не затрагивая другие ваши проекты.

Сообщество Rust строит более разумное и продуктивное будущее программирования. У вовлеченных людей есть стремление создавать наилучшие инструменты для работы, а не терпеть посредственные решения. Это отличительная черта лучших людей, и именно поэтому я буду следить за компаниями и отдельными людьми, экспериментирующими с Rust.