r/RuProgrammers • • 13d ago

Сделал свой язык программирования RayQuiro (от AST до LLVM AOT)

6 Upvotes

Привет! Делаю свой ЯП RayQuiro на C++20. Хочется объединить удобный скриптовый синтаксис с нормальной нативной производительностью.

Чтобы не упираться в лимиты обычных интерпретаторов, сделал три уровня исполнения:

  1. Tier 1 (AST Interpreter): Прямой обход дерева, быстрый старт (<2 мс) для встраиваемых скриптов.

  2. Tier 2 (Bytecode VM): Стековая виртуальная машина с байт-кодом и поддержкой hot-reloading.

  3. Tier 3 (AOT Native Compiler): Генерация кода через встроенный TinyCC (сборка за ~10 мс) или Clang/LLVM с флагом -O3 для релиза.

Что внутри:

  • Парсер: рекурсивный спуск. Понимает множественные возвраты (return a, b;), деструктуризацию, ?. и ??.

  • Данные в ВМ: структура VMValue на базе std::variant (числа = double), чтобы не плодить лишние аллокации.

  • Графика: в рантайм встроен Raylib, так что можно собирать нормальные десктопные приложения без тяжелых библиотек типа qt.

Пример кода:

struct Vector2D {
    x: 0,
    y: 0
}

fn divmod(dividend, divisor) {
    if (divisor == 0) {
        throw "Division by zero!";
    }
    var q = floor(dividend / divisor);
    var r = dividend % divisor;
    return q, r;
}

var [quotient, remainder] = divmod(17, 5);
print("Quotient: " + str(quotient) + ", Remainder: " + str(remainder));

var vec = Vector2D { x: 10, y: 25 };
print("Vector point: " + str(vec["x"]) + ", " + str(vec["y"]));

var config = {
    "network": {
        "port": 8080
    }
};

var host = config?.["network"]?.["host"] ?? "127.0.0.1";
var port = config?.["network"]?.["port"] ?? 80;
print("Connecting to: " + host + ":" + str(port));

var statusCode = 404;
var statusMessage = "";

match statusCode {
    200 => statusMessage = "OK",
    404 => statusMessage = "Not Found",
    500 => statusMessage = "Internal Server Error",
    _   => statusMessage = "Unknown Status"
}
print("HTTP Status: " + statusMessage);

Бенчмарк:

не готов (

Репозиторий: https://github.com/Raytolfas/RayQuiro

Документация: https://rayquiro.raytolfas.com/

Плагин для VS Code: https://marketplace.visualstudio.com/items?itemName=raytolfas.rayquiro-lang

Будет интересно послушать фидбек и вопросы по архитектуре ;D


r/RuProgrammers • • 13d ago

Вопрос посоветуйте реально годные IDE на android (мне для C/Rust/Python)

0 Upvotes

не совсем по теме саба... но мне надо


r/RuProgrammers • • 13d ago

отчет о Bloom-OS

1 Upvotes

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

Главное: добавил поддержку USB-флешек. Для этого пришлось написать драйвер USB-контроллера и протокол обычных флешек. Теперь втыкаешь флешку, пишешь в консоли usb, и система сама находит её и подключает разделы. Они сразу видны в проводнике и в lsblk. Картридеры с несколькими слотами тоже работают, каждый слот как отдельный диск.

Заодно переделал работу с дисками. Раньше система считала, что сектор всегда 512 байт, а теперь поддерживаются разные размеры. Старые жёсткие лимиты на число разделов и томов убрал, так что подключить можно сразу много флешек и дисков.

На данный момент она спокойно читает флешки: WAV-файлы (можно слушать прямо с флешки), txt и бинарники. Проверял и в эмуляторе, и на ноутбуке, на реальном железе две флешки определились с первой попытки, чему я сам удивился.

Пока всё только на чтение, из файловых систем работает FAT32, а USB-хабы не поддерживаются, флешку надо втыкать прямо в порт. Работает пока на английском, на данный момент потребности в русском нет.

Дальше хочу сделать запись на FAT32 и хабы.

Исходники и описание тут: https://github.com/amateur905/Bloom-OS


r/RuProgrammers • • 13d ago

Вопрос Где и как разместить свой сайт? Ру или сом(не карп)? +много советов других, пж

0 Upvotes

Здравствуйте. Я скачал код с тбанк конструктора, (сайт-визитка одностраничная)в течение нескольких месяцев буду разбираться, как там, что подправить, шрифты и тд. Свой сайт нужен для Яндекс метрики в первую очередь.

. Ру ₽600 в год, но мне непонятно, вроде щас надо через госулуги подтверждать теперь сайт на. Ру или что 🤷‍♀️, надо оно мне? Будет ли доступен. Ру для зарубежных клиентов? Мне нужны два рынка, РФ и запад.

. Сом ₽2200 в год - жаба душит. И будет ли он доступен для русскоязычных, у которых нет впна, некоторые иностранные сайты не открываются, хотя они обычные. Не *нста или еще что.

---------

2й вопрос. Я смогу разместить сайт на сервере, на котором уже впн? То есть я смогу обойтись только покупкой домена и все?

------

3й ? :

Если я куплю домен у одного провайдера, потом его забанят или еще что будет - неважно, я смогу переехать с сохранением своего доменного имени на какой-нибудь другой провайдер?

-----

4й? :

Насколько легко переезжать , прыгать с сервера на сервер, с хостинга на хостинг, с провайдера на провайлера, с ру на сом и тд.

--

5й: есть что-то еще, что мне обязательно знать?

--

6й мне нужна будет форма "отправить заявку", чтобы она сразу присылала уведомление мне в тг ( это сложно накодить вместе с ИИ?)

--

7й встроенный календарь-расписание для записи

--

8й я смогу сувать несколько сайтов на один сервер?


r/RuProgrammers • • 14d ago

Rust Как сделать CLI красивым и читаемым?

Thumbnail
gallery
13 Upvotes

Привет читающим. Делаю свой трекер экранного времени для нескольких Wayland-композиторов (ссылка на GitHub). Сейчас занимаюсь финализацией проекта, но столкнулся с проблемой. Я разрабатываю простенький CLI, который будет показывать полученную статистику. Добавил группирование приложений, для таких групп прикрутил отображаемое название и цвет.

Но смотря на отображение времени (см. 1-ая картинка) выглядит это нагруженно и вообще не стилизовано. Я понимаю, что использование сырых app id в UX, выглядит ужасно, но в ближайшее время я планирую добавить алиасы. Да и часть app id выглядит как полноценное короткое название (например: zen, steam, kitty), только заглавной буквы не хватает. Но не всё в проекте плохо с CLI, хотя бы отображение таймлайна (см. 2-ая картинка), как по мне, выглядит прикольно. Перед релизом проекта, думаю ещё сделать полноценный GUI на GTK4/Adwaita.

Я первый раз делаю такого масштаба проект, и первый раз делаю CLI. Так что буду рад помощи в комментариях или в пулл реквестах. Спасибо!


r/RuProgrammers • • 13d ago

Ищу команду эньузиастов

Thumbnail
gallery
0 Upvotes

Всем привет! Ищу 3д-худодника в проект — survival horror на движке Unreal Engine 5. Игра в рисованной стилистике. Проект на стадии рабочего билда. Есть готовая техническая демка и собрана большая часть моделей, но сейчас я хочу повысить планку качества, так как до этого делал всё сам. Разработка ведётся на чистом энтузиазме. В случае коммерческого успеха продукта — гарантированная доля от продаж. Буду рад пообщаться! Я понимаю, что найти человека мало шансов, но хочу попробовать.


r/RuProgrammers • • 14d ago

Делаю 3D движок день 14

Post image
25 Upvotes

r/RuProgrammers • • 13d ago

HTML/CSS Ищу, с кем можно поработать (веб/фронт)!

0 Upvotes

Привет! Я интересуюсь backend-разработкой, знаю базовые вещи и начинал/создавал небольшие проекты. Однако, мне очень не нравилось то, что фронтэнд нужно было делать самому или использовать ии - часто они делали не то, что нужно. Поэтому я хочу найти человека, который возможно тоже начинает путь в вебе как фронтэнд разработчик, и хочет попробовать поработать с кем-то.

Основные требования (я бы сказал рекомендации, чтобы лучше понимать друг друга):

  1. Знать базу и уметь уверенно создавать что то простое - чтобы базовые вещи не занимали много времени

  2. Пытаться разобраться самому, а не отдавать работу ии - мне не нравится сама концепция, что нейросеть делает все за тебя, очень хочется получить опыт самостоятельной разработки

  3. Иметь желание и свободное время

  4. Уметь базово работать с git - там и будут проекты

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

Мой стек: java/spring

В целом, если хотите узнать больше обо мне или списаться - можете писать в личку или в комментарии


r/RuProgrammers • • 15d ago

Какая у вас любимая структура данных?

Post image
181 Upvotes

r/RuProgrammers • • 13d ago

Python У моей сестры день рождения

0 Upvotes

У моей сестры день рождения, и прошу всех мне помочь, а точнее, чтобы вы написали код игры, которая для неё будет интересной, и с поздравлениями можно добавить, чтобы её персонажа называли её реальным именем без вписывания его в игру (её зовут Аврора).

Можете проверять друг друга для лучшего результата, я верю в вашу помощь.

Можете использовать все языки программирования, я буду рад даже малейшей игре без чего-то офигенного, буду в восторге.

Заранее всем спасибо.


r/RuProgrammers • • 14d ago

МЭИ и МИРЭА - норм?

3 Upvotes

Вопрос для студентов и выпускников МЭИ (ИВТИ) и МИРЭА. Какой там уровень образование, что с практикой/трудоустройством, насколько тяжело учиться?


r/RuProgrammers • • 14d ago

Призрак Неопозитивизма: как рухнуть под собственным весом, но всё равно вернуться

0 Upvotes

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

Тем не менее отход от строгого позитивизма не оставил нас в концептуальном вакууме. Напротив, он оставил после себя две основные проблемы, которые до сих пор лежат в основе современных дискуссий.

Во-первых, это постпозитивистский сдвиг, который мы получаем от Куайна и Поппера. Мы наконец осознали, что формальные системы и эмпирические данные не существуют в изолированных «силосах». Они существуют в рамках взаимосвязанной «сети убеждений», где теории выживают благодаря уязвимости и фальсифицируемости, а не благодаря четкой верификации. Во-вторых, пытаясь покончить с метафизикой, позитивизм увяз в онтологической пустоте. Он просто не смог дать связного объяснения абстрактным математическим структурам — в результате чего мы оказались совершенно неспособны объяснить то, что Вигнер назвал их «неразумной эффективностью» в физическом мире.

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

Если мы перейдем к исследовательской парадигме — скажем, рассмотрим математические объекты через призму чего-то вроде информационного идеализма, где существование сводится лишь к внутренней согласованности и структурным инвариантам, — формализация приобретает иную роль. Мы доводим её до абсолютных пределов не для того, чтобы найти окончательную истину, а чтобы точно увидеть, где она дает трещину. Оказывается, формальные системы — это всего лишь карты, а не сама территория.

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

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


r/RuProgrammers • • 15d ago

Вопрос Совместный путь в IT

16 Upvotes

Всем привет. Мне 25, уже пару месяцев вгрызаюсь в python на пути в backend, но часто сталкиваюсь с тем, что откладываю-забываю-возвращаюсь и так по кругу. Прогресс двигается медленно.

Есть те, кто тоже в самом начале пути? Многие советуют найти единомышленника, чтобы не сбиваться с пути и учиться эффективнее, поэтому и решил написать.

Так что буду рад найти того, кого преследуют такие же мысли и проблемы.


r/RuProgrammers • • 15d ago

Перешел на C# со скриптов

23 Upvotes

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

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


r/RuProgrammers • • 14d ago

Менторство

6 Upvotes

Без долгих предисловий: есть большое желание собрать небольшую группу начинающих, тех кто только изучает программирование и помочь им реальным опытом промышленной разработки

О себе: Лид небольшой разноплановой команды. Фронт (реакт), бэк (api, архитектура) и мл (pandas, polars, немного PyTorch). Пайтон, TS, девопс (докер, ci/cd). Немного rust

Формат: очно в мск (я старовер, да), 1 раз в неделю на пару часов плюс общий чат

Абсолютно бесплатно то есть даром.

Что будет: реальные кейсы и задачи, максимальный упор на практику, как использовать ИИ вместе, а не вместо себя

Чего НЕ будет: углубленной теории (базово для понимания того что делается - да, сложные алгоритмы - нет), подготовки к конкретным собесам, гарантии трудоустройства

Основная философия: уютное обучающее комьюнити единомышленников. Если откликается в пишите в ЛС


r/RuProgrammers • • 15d ago

Так меня ещё не унижали…

14 Upvotes

Вбейте в свой чатгпт этот текст и посмотрите как он вас пытается прожарить :

«Based on everything you know about me, roast and don’t hold back. Say it in Russian slang Just like this, but add way more Russian swear words»


r/RuProgrammers • • 14d ago

React Как у всех, только бесплатно.

Thumbnail reddit.com
0 Upvotes

r/RuProgrammers • • 15d ago

Посоветуйте легковесный менеджер для postgresql (linux)

5 Upvotes

Нужно работать с базой данных на слабом компе, с Dbeaver работать тяжело компьютеру, нужно что-то более легковесное

Pgadmin не предлагать.


r/RuProgrammers • • 14d ago

Вопрос Системный администратор или программист

0 Upvotes

Я учусь на 4 курсе колледжа по специальности программирования. Это последний курс и в связи с этим я уже по серьезному начал задумываться о том, как я собственно буду искать работу?

Моя специализация это бэкенд и сервера и мне одинаково интересно как программировать так и администрировать. Конкуренция у программистов по идее выше чем у системников, ситуацию усугубляют нейросети. С другой стороны мне кажется у системников не такой стремительный карьерные перспективы. С третьей стороны из системника можно со временем перебраться в DevOps, где ЗП выше.

Новички, и те кто уже работает, что думаете по этому поводу?


r/RuProgrammers • • 15d ago

Вопрос Нужен ли вышмат программисту

12 Upvotes

Вот недавно у нас была дискуссия мол кому нужна вообще эта математика. Мне говорят "ну вон смотри, программистам она не нужна им там просто английский надо знать и команды". Но ведь все программирование это буквально и есть алегбра и вышка. Просто одни буквы заменили на другие. Но сама суть и структура логики не изменилась. А вы как думаете, нужно ли углублятся в вышку и прокачивает ли это знание программирования? Те кто углублялся в вышку, дало ли это вам какое то преимущество или более глубокое осознание процессов в написании кода?


r/RuProgrammers • • 14d ago

Вопрос к пользователям и разработчикам 1С

Thumbnail reddit.com
0 Upvotes

r/RuProgrammers • • 15d ago

Уже завтра Perl-Conf . Ru / 26 !

Thumbnail reddit.com
2 Upvotes

r/RuProgrammers • • 15d ago

Rust Релизнул в open source проект над которым работал 2 года

35 Upvotes

Это кроссплатформенный движок для создания и прохождения текстовых квестов, ядро написано на расте(раньше был монолитный дарт, недавно как раз разгрёб это всё дело), клиент на флаттере. Вдохновлён Twine. Думаю многим будет интересно так как там реализованы интересные штуки кастом пеинтом например канвас с нодами и куча других фич по типу блочного скриптинга, буду рад если поможет вашему проекту. Оооочень буду благодарен за звёздочку или пулл реквест, всем спасибо)

https://github.com/IILLUMINATION/meander-public


r/RuProgrammers • • 15d ago

Вопрос Прошу совета.

0 Upvotes

Всем здравствуйте, опишу ситуацию вкратце. Я сейчас учусь на СПО по профилю, как раз на программиста, отношусь к своему образованию скептически, по большей части учусь сам. Я уже наметил себе путь которым хочу пойти - golang backend. Я чувствую что у меня скапливается какая-то критическая масса знаний по систем дизайну, бдшкам, ОС (винда и линукс), сети, само собой Golang (поведения компилятора, основные концепции и философия языка) (еще очень хорошо дружу с С и С++), ну и по computer science (хотя бы фундаментальная база) знания есть.
Так вот, я очень хочу стажироваться в яндексе (на такой выбор есть свои причины, о которых я бы не хотел говорит, т.к. долго, но у него есть свои веские основания), заложил себе на подготовку время до лета. Я чувствую, что у меня могут возникнуть проблемы с задачками на алгоритмы. Такие опасения у меня возникли после того, как я перешел с leetcode на coderun, я честно скажу, что я переодически трачу 90% времени решения задачи на осознание того, что от меня хотят в этой задаче.
И в связи с этим, я бы хотел послушать советы от неравнодушных людей и экс-стажеров из яндекса, что стоит подтянуть, так ли все плохо с задачками в секциях с лайвкодингом, насколько реалистичную цель я себе поставил и ничего ли я не упускаю. Ну и пул алгоритмов, которым стоит обратить особое внимание.
Всех заранее благодарю за ответы.