Cyber — скриптовый язык, который позиционируют как быстрый и удобный. Его легко выучить: тут и динамические типы, и опциональная статическая типизация, конкурентность на файберах, безопасная память, FFI, встраиваемость, кроссплатформенность, быстрые VM и JIT.
В примере на Cyber создаётся список строк, добавляется случайное значение, затем цикл выводит Hello с каждым элементом. Тут же показана статическая типизация: функция fib объявлена с типами int, внутри стоит coyield, а запускается она через coinit и coresume. Цикл продолжается, пока fiber.status() не станет .done, и увеличивает счётчик — по комментарию в коде, он считает вызовы fib.
Зачем нужен Cyber? Авторы говорят: для быстрых и приятных скриптов. Компилятор и VM можно встраивать в приложения, игры и движки. CLI-версия запускает скрипты на десктопах и серверах. По бенчмаркам язык быстрый: производительность закладывали с самого начала. Отдельно тестируется рекурсивный Фибоначчи — и для VM, и для JIT, с замером времени скрипта, времени загрузки и пиковой памяти.
С интеграцией помогают несколько вещей. Библиотека libcyber позволяет встроить Cyber в своё приложение; на ней же построены CLI и основная библиотека языка. FFI API даёт скриптам доступ к любой библиотеке, совместимой с C-ABI. А утилита cbindgen.cy умеет автоматически генерировать полные биндинги из одного C-заголовка. Примеры таких биндингов — Raylib и LLVM.
Проект ещё развивается, поэтому идеи приветствуются: можно создавать issues на GitHub, заходить в Discord. А поддержать деньгами — через Github Sponsors или Patreon.