Я сделал русскоязычный язык программирования. Вот что из этого вышло
Пишу код на русском уже полгода. Нет, это не шутка и не студенческий pet-проект. Я разработал и опубликовал язык программирования SkyForge — и он работает. В этой статье расскажу, зачем это нужно, как устроен и что я понял про аудиторию, пока никто не хотел им пользоваться.
Что такое SkyForge и зачем он нужен
SkyForge — это полноценный язык программирования с русскоязычным синтаксисом. Компилятор написан на Python, поэтому установка — одна команда pip install skyforge-lang.
Зачем ещё один язык? Причина проста: мне надоело писать if, else, while. Я хотел думать о логике, а не о переводе с родного языка на английский. Так родилась идея языка, где команды звучат как обычная речь.
Вот как выглядит код на SkyForge:
skf// hello.skfфункция привет(имя) { вернуть "Привет, " + имя + "!"}лог(привет("Мир"))
Запускается одной командой: SkyForge run hello.skf
Что под капотом
Я не переписывал Python. SkyForge — это интерпретатор, который парсит .skf файлы и выполняет их через Python. Архитектура классическая: лексер, парсер, интерпретатор. Никакой магии.
Я не пытался сделать «убийцу Python». Я делал инструмент для конкретной задачи — писать код быстро, читаемо и на родном языке.
Вот что уже умеет язык:
- Классы, наследование, лямбды, исключения
- Асинхронность и генераторы (как в Python, только с русскими ключевыми словами)
- Веб-фреймворк с маршрутами, шаблонами и сессиями
- ORM для работы с SQLite без единой строки SQL
- Тестовый фреймворк с декоратором @тест
Самая мощная фича: Python-мост
Главное, что делает SkyForge практичным, — это мост в Python. Любую библиотеку из PyPI можно подключить одной строкой:
skfпусть requests = подключить_питон("requests")пусть r = requests.get("https://api.github.com")лог(r.json()["stargazers_count"])
Это значит, что язык не изолирован. Он получает доступ к сотням тысяч пакетов: от numpy и pandas до openai и telegram-bot.
Первый запуск: что можно сделать за 5 минут
Вот пример простого Telegram-бота, который я написал на SkyForge за вечер:
skf установить_пакет("aiogram")пусть aiogram = подключить_питон("aiogram")пусть asyncio = подключить_питон("asyncio")пусть bot = aiogram.Bot("ТОКЕН")пусть dp = aiogram.Dispatcher()// ... обработчики командasyncio.run(dp.start_polling(bot))
Это работающий бот. Строк кода меньше, чем на Python, потому что не нужно писать import, async def, if __name__ == "__main__".
Честно о проблемах
Не всё гладко. Вот что я понял, пока делал проект:
- Медленно — интерпретатор на Python в 30–100 раз медленнее самого Python. Для веба не критично, для CPU-задач — да
- Нет LSP и автодополнения в редакторах. Пишу в своём GUI-лаунчере, но этого мало
- Экосистема пустая. Все библиотеки приходят из Python, своих пока почти нет
- Никто не пользуется. 200 скачиваний в день — это боты и зеркала PyPI, а не люди
Что дальше
Сейчас я работаю над тремя вещами:
- Плейграунд на сайте — чтобы можно было запустить код в браузере без установки
- LSP-сервер и расширение для VS Code — чтобы писать было удобно
- Статьи и видео — чтобы о языке узнали
Заключение
SkyForge — не замена Python или JavaScript. Это инструмент для тех, кому удобнее думать на русском. Для быстрых скриптов, прототипов, бэкендов и обучения.
Я не знаю, станет ли он популярным. Но я знаю, что за полгода я написал на нём больше, чем на Python за предыдущий год. Просто потому что перестал спотыкаться о синтаксис.