
Разработка ведется в рамках программы стратегического академического лидерства «Приоритет 2030».
Язык программирования — это инструмент, с помощью которого люди задают определенные команды программе или компьютеру в целом. Некоторые языки, например Python, просты в освоении, но медленны. Другие, такие как C++ или Rust, работают быстрее, но требуют глубоких знаний и внимания к деталям, особенно к памяти и данным при работе программы.
Одна из главных проблем традиционных языков — это работа с памятью. Компьютер управляет локальными данными в двух местах: во-первых, в «стеке» (stack) — это очень быстрая, но ограниченная память, как аккуратная стопка тарелок: можно положить новую сверху или взять верхнюю. Во-вторых, в «куче» (heap) — она медленнее, но позволяет хранить те данные, размер которых заранее неизвестен или может меняться в процессе работы программы — это как большой беспорядочный шкаф, откуда можно брать что угодно, но поиск занимает больше времени. Например, если человек пишет приложение для редактирования фото, и пользователь загружает картинку, которую разработчик не знал заранее — ее данные придется хранить в «куче».
Все это может приводить к ошибкам, замедлению и непредсказуемому поведению программы, а в высоконагруженных системах, таких как нейросети, IoT-устройства (датчики, камеры), роботы и беспилотники, скорость отклика крайне важна.
Для решения этих проблем студент Пермского Политеха занялся разработкой нового языка программирования — Ritter, предназначенного для встраиваемых систем и задач, требующих высокой производительности. Он ориентирован на данные (Data-Oriented Design) и предлагает необычный подход к работе с памятью.
В отличие от большинства языков, Ritter использует только «стек», полностью отказываясь от «кучи». Это значит, что вся память определяется заранее, еще на этапе написания кода. Программа становится предсказуемой, работает быстрее, и в ней почти невозможно допустить ошибку, связанную с управлением памятью. Например, в случае с разработкой движка для игры важно, чтобы информация была расположена так, чтобы процессор мог ее быстро использовать. Ritter умеет автоматически перестраивать структуры данных, чтобы они лучше подходили для работы с памятью: он может преобразовать список объектов в набор списков характеристик, что ускоряет работу с графикой и физикой.
Другая особенность Ritter — у него нет привычных жестких типов данных, как в других языках. Вместо этого он позволяет программисту использовать инструкции — специальные указания о том, как интерпретировать биты. Это делает язык очень гибким: одно и то же число можно использовать как цвет, координату или команду. Например, в приложении для умного дома можно задать инструкцию, которая говорит: «Эти 4 байта — это команда для открытия двери», и программа будет понимать это без лишних проверок и накладных расходов.
«Софт, написанный на этом языке, гораздо надежнее и имеет высокую скорость работы — это критично для медицинских приборов или систем управления дронами. Гибкость языка позволяет адаптировать один и тот же код под разные устройства — от крошечных датчиков до мощных серверов. Все это делает его идеальным для игровых движков, микроконтроллеров, датчиков и нейросетей. При всем этом сам код прост, лаконичен и будет понятен даже новичкам, рассказывает Даниэль Дингес, главный разработчик, студент кафедры «Ракетно-космическая техника и энергетические системы» ПНИПУ.»
Команда оценивает затраты на создание первой упрощенной версии Ritter в 2 млн рублей, а формирование стандартной библиотеки и инструментов языка — в 7-15 млн рублей. Стратегия монетизации включает открытое ядро (Open-Core) и коммерческие решения для предприятий. Открытый бета-релиз планируется в октябре 2026 года.