v0.46 • Открытый код • MIT лицензия

Язык, на котором ты думаешь
по-русски

Ясный — экспериментальный язык программирования с русским синтаксисом. Все ключевые слова на русском. Код читается как обычный текст.

Примеры
Функции
функция привет(имя)
    вывод("Привет, {имя}!")
конец

привет("Мир")
# Привет, Мир!

Думаешь на русском?
Пиши на русском.

Ясный — это язык программирования, где код выглядит так же, как ты формулируешь мысли. Никакого перевода в голове, никаких языковых барьеров.

Изучай программирование на родном языке, а затем легко переходи на Python, JavaScript или любой другой язык — концепции останутся теми же, изменится только синтаксис.

Пример
класс Калькулятор
    функция сложить(a, b)
        возврат a + b
    конец
    
    функция умножить(a, b)
        возврат a * b
    конец
конец

конст калк = Калькулятор()
вывод(калк.сложить(5, 3))  # 8

Возможности

Русский синтаксис

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

Современный синтаксис

Лямбды, деструктуризация, spread оператор, optional chaining,pattern matching, list comprehension — всё как в современных языках.

Функциональное программирование

Работай с данными в функциональном стиле:фильтр, преобразовать, свернуть, найти.

ООП

Классы, наследование, инкапсуляция — полноценное объектно-ориентированное программирование.

Встроенные возможности

HTTP сервер, работа с файлами, JSON, регулярные выражения — всё встроено без внешних библиотек.

Модульная система

Импорт и экспорт модулей для организации кода. Создавай переиспользуемые библиотеки.

Легкий переход на другие языки

Ясный использует знакомые концепции программирования. Освоив основы на русском, ты легко перейдешь на Python, JavaScript или любой другой язык — синтаксис другой, логика та же.

JavaScript
function fibonacci(n) {
    if (n <= 1) {
        return n;
    }
    return fibonacci(n-1) + fibonacci(n-2);
}

const numbers = [1, 2, 3, 4, 5];
const squares = numbers
    .filter(x => x % 2 === 0)
    .map(x => x ** 2);
console.log(squares);  // [4, 16]
Ясный
функция фибоначчи(n)
    если n <= 1
        возврат n
    конец
    возврат фибоначчи(n-1) + фибоначчи(n-2)
конец

конст числа = [1, 2, 3, 4, 5]
конст четные = фильтр(числа, х => х % 2 == 0)
конст квадраты = преобразовать(четные, х => х ** 2)
вывод(квадраты)  # [4, 16]

Больше примеров

Классы и ООП
класс Человек
    функция инициализация(имя)
        это.имя = имя
    конец
    
    функция привет()
        вывод("Привет, {это.имя}!")
    конец
конец

конст человек = Человек("Иван")
человек.привет()
Циклы с диапазоном
# Цикл от 1 до 10
для i от 1 до 10
    вывод(i)
конец

# С шагом
для i от 0 до 100 по 10
    вывод(i)  # 0, 10, 20...
конец
Работа со строками
конст имя = "Иван"
конст возраст = 25

# Интерполяция
вывод("Привет, {имя}!")

# Вычисления в строках
вывод("Через год: {возраст + 1}")
Лямбда-функции
конст удвоить = х =&gt; х * 2
вывод(удвоить(5))  # 10

конст сумма = (a, b) =&gt; a + b
вывод(сумма(3, 4))  # 7

# В функциях высшего порядка
конст числа = [1, 2, 3]
конст удвоенные = преобразовать(
    числа, х =&gt; х * 2
)
Работа с объектами
конст человек = {
    "имя": "Иван",
    "возраст": 25,
    "город": "Москва"
}

вывод(человек["имя"])
вывод(человек.возраст)

человек.профессия = "Программист"
HTTP Сервер
функция обработчик(запрос)
    возврат {
        "статус": 200,
        "тело": "Привет из Ясного!"
    }
конец

http_сервер(8080, обработчик)
вывод("Сервер на порту 8080")
Тернарный оператор
конст возраст = 20
конст статус = возраст >= 18 
    ? "взрослый" 
    : "ребенок"

вывод(статус)  # взрослый
Составные операторы
перем x = 10
x += 5    # x = x + 5
x -= 3    # x = x - 3
x *= 2    # x = x * 2
x /= 4    # x = x / 4

вывод(x)  # 6
Работа с файлами
# Запись в файл
писать_файл("данные.txt", "Привет!")

# Чтение из файла
конст содержимое = читать_файл(
    "данные.txt"
)
вывод(содержимое)

Готов написать первую программу?

Установи Ясный и запусти свой первый код за две минуты.

Попробовать в браузере →
macOS
Скачать и установить
wget https://github.com/warcorprp-web/yasny-lang/releases/download/v0.44/yasny-0.44-macos-intel.dmg.tar.gz
tar -xzf yasny-0.44-macos-intel.dmg.tar.gz
./install.command
Скачать v0.44 (5.55 MB)
Windows
Скачать и установить
Распакуйте архив и запустите
install.bat
от имени администратора
Скачать v0.44 (5.42 MB)
Linux
Скачать и установить
wget https://github.com/warcorprp-web/yasny-lang/releases/download/v0.44/yasny-0.44-linux-amd64.tar.gz
tar -xzf yasny-0.44-linux-amd64.tar.gz
sudo ./install.sh
Скачать v0.44 (5.44 MB)
Расширение для VS Code

Полная поддержка в редакторе

  • Подсветка синтаксиса — все ключевые слова и конструкции
  • Автодополнение — функции, классы, переменные
  • Сниппеты — быстрые шаблоны для функций, классов, циклов
  • Подсказки — документация по встроенным функциям
# Установка через командную строку
code --install-extension yasny-lang-0.44.0.vsix
Скачать расширение (16.4 KB)

Частые вопросы

Зачем русский язык программирования?

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

Не лучше ли сразу учить Python?

Python отличный выбор для профессионалов. Но для первых шагов важна понятность каждого слова. Ясный — это мост: освоив базовые концепции на родном языке, переход на Python или JavaScript станет естественным. Вы уже будете понимать циклы, функции и классы — останется только выучить новый синтаксис.

Можно ли использовать для реальных проектов?

Ясный подходит для скриптов, прототипов, учебных проектов и автоматизации. Язык компилируется в нативный код через Go, поддерживает HTTP, работу с файлами и JSON. Для production-систем лучше использовать проверенные решения, но для быстрых экспериментов и обучения Ясный — отличный инструмент.

Кому подойдёт

Школьникам и студентам
Для первых шагов в программировании без языкового барьера
Учителям
Для уроков информатики и обучения основам алгоритмов
Разработчикам
Для быстрых прототипов, скриптов и экспериментов

Статус проекта

Готово
Базовый синтаксис
ООП и классы
Функциональное программирование
HTTP и файлы
VS Code расширение
Песочница онлайн
В работе
Менеджер пакетов
Улучшенная типизация
Отладчик
Документация API
Расширение stdlib
В планах
Асинхронность
Интеграция с JS/Python
GUI библиотека
Веб-фреймворк
Мобильная поддержка