Михаил
Ага
а что тогда по твоему c# он тоже как бы интерпретирует (в основном). но не исходный код а промежуточный асм и использует сишные библиотеки ну да, ты прав частично, т.к. его можно компилировать в нативный код, как я ранее сказал
Uni_X
Я его еще с юнити не люблю
UtoECat
Я С# и не собирался учить
Тогда зачем спрашиваешь? 😁
Igor
Никто не мешает, но луа изначально как встраиваемый делался
Это не значит, что на нём невозможно писать стендалон софт)
Uni_X
Тогда зачем спрашиваешь? 😁
Я с друзьями про него спорил, а сам даже не знал что за тема с линуксом
Uni_X
Надо саморазвиваться
UtoECat
Я его еще с юнити не люблю
По факту, никогда не будет идеального языка. И идеальной либы/фреймворка тоже (за редкими исключениями). Везде свои плюсы и минусы. Выбирается язык и прочее в зависимости от поставленной задачи прежде всего, а она может быть весьма обширна.
Михаил
стендалон софт это OS =)
всему остальному в том или ином виде нужны библиотеки: или libc++, libunwind, libgcc, или интерпретатор со своими библиотеками, или вообще .net runtime, JVM, ...
Uni_X
По итогу продолжаю С/С++ долбить
Михаил
По итогу продолжаю С/С++ долбить
будь уверен- не ошибешься
UtoECat
Это и огорчает)
Не ну а как ты хотел? Даже в реальном мире нет ничего идеального,всегда либо допиливать (если это целесобразно), либо юзать что есть и не гнаться за утопией
Igor
будь уверен- не ошибешься
Это почти идеальные языки)
Uni_X
По итогу продолжаю С/С++ долбить
Вы не обращайте внимания если буду тут на них ныть, это у меня бывает. Просто пошлите меня С учить
Михаил
могу напомнить про свой ЯП на коленке за месяц (упорного отказа от рефакторинга)
Михаил
может кто не видел. прикольнётесь от его синтаксиса
Михаил
github.com/Koekto-code/sampl
Михаил
ща кстати залью новую версию
Михаил
github.com/Koekto-code/sampl
бенчмарк в обычном цикле показал, что он в 56 раза медленнее луа и в 34 - питона
UtoECat
По итогу продолжаю С/С++ долбить
Опять-же, попробуй учиться по roadmap-ам или "бесплатным" курсам, или маленьким проектам, параллельно вчитываясь в cppreference - единственный актуальный и полный источник инфы, но при этом иногда слишком переполненный для новоиспечённых c++ погромистов 😁
Михаил
Тоже своего рода достижение)
я вообще не старался над оптимизацией))
Михаил
щас пишу другой яп, с таким синтаксисом который мне нравится
Uni_X
Но не успеваю
Uni_X
Еще на зфтш курсы по шизике проходить...
Uni_X
😭
Михаил
я вообще не старался над оптимизацией))
точнее даже старался не оптимизировать
Михаил
точнее даже старался не оптимизировать
это тот случай, когда нормальный простой и быстрый код было написать проще
Михаил
Там-то хоть будет ast? 😁
даааа. как раз над ним щас работаю
Михаил
там такой пайплайн: исходный код --> токены --> AST --> исполнение
Igor
даааа. как раз над ним щас работаю
LLVM машинку написать ещё не забудь, чтобы прям совсем в тренде быть
Михаил
стандарт напишу мб, а там как получится
UtoECat
Но не успеваю
Ты и не сможешь. Физически невозможно с наскоку вникнуть в какую-то тему. Тебе прежде всего следует поработать над самодисциплиной : - Не лезть туда, куда ещё рано (по крайней мере с головой, как ты это делаешь, но скопипастить рабочий код или по быстрому найти нужный класс и методы которые решат твою задачу - без проблем) - Не делать одновременно несколько проектов, не учить одновременно несколько тем - Не заниматься проектами сутки на пролёт (иначе быстро выгоришь)
Михаил
LLVM машинку написать ещё не забудь, чтобы прям совсем в тренде быть
стоп, а это про свою замену llvm или про фронтенд для llvm?
Михаил
у меня в языке будет еще один сумасбродный прикол которого (надеюсь) нигде больше нет
UtoECat
там такой пайплайн: исходный код --> токены --> AST --> исполнение
Токены можно сразу применять, не преобразовывая весь файл в массив токенов. За редкими случаями через-чур замудрённого и сложного для парсинга синтаксиса.
UtoECat
это медленно
Нет, как раз наоборот
Михаил
ну у меня синтаксис как в c# примерно
Михаил
будет
Михаил
Фронт
а то свою ллвм тоже идея неплохая как бы))
Igor
Не, ну можешь и полностью с нуля LLVM написать
Igor
Прекрасная идея
Михаил
а так получилось что я всё в одно хлебало делаю))
UtoECat
Если тебе не надо делать lookup токенов наперёд, ака где-же закрывается эта скобка, то можно избавиться от лишних затрат по памяти, и соответственно в скорости компиляции чуть выиграть (попаболь будет с оптимизациями уже 😁)
UtoECat
ну у меня синтаксис как в c# примерно
Ммм... Тогда да, оператор < и <ClassA, ClassB<int>> будет трудноватее различить
UtoECat
Работает всё на AST, но не надо заранее исходный код весь в токены преобразовывать
Михаил
вот в SAMPL там напрямую строки интерпретируются, вообще он строками обмазан, числа в строках, указатели в строках, стрки в строках, все данные в вонючих строках
Михаил
и результат?))
Михаил
50 раз Карл
UtoECat
а. ты имеешь ввиду сохранять ast в бинарь?
Нет. Стадия исходный код -> AST происходит без конвертации всего исходника заранее в токены, и скармливания уже массива токенов лексическому анализатору, а токены получаются сразу из исходного кода как итератором,
Михаил
а. да, понял
Михаил
ну нет, мне так легче и логичнее, во-первых, а потом у меня действительно синтаксис сложный
Михаил
и не думаю что так будет быстрее, чем проходить все стадии
Михаил
+ собираюсь сохранять ast в бинарь 🥸 или все таки сделать VM и уже нормальным промежуточным асм это все записать. или jit
UtoECat
и не думаю что так будет быстрее, чем проходить все стадии
Ты стадию токенизации никуда не теряешь, у тебя просто нет лишнего контейнера под это дело, она просто сливается со стадией лексического анализа и происходит по надобности, так реализованы многие компиляторы, если это позволительно синтаксисом языка который они компилируют (если не изменяет память то компилятор чистой сишки - хороший пример)
Luсky
Ну хз. Позавчера пиксиланг обновился - очень интересно.
WDMR
Что с телегой? У кого нибудь тупит?
Oleg
Что с телегой? У кого нибудь тупит?
ты ждешь что тебе ответят те у кого есть проблемы?
UtoECat
Что с телегой? У кого нибудь тупит?
Да. Только через web могу нормально читать сообщения и писать, нативные версии работают очень туго. Обновление не помогает. Причина неясна, где-то винят мтс, где-то сам телеграмм, а где-то... кхм...
Igor
Что с телегой? У кого нибудь тупит?
Многие жаловались, что с впном работает только нормально, но у меня вроде норм всё
Luсky
Тупит, да
0xSU
print 'Привет всем!' local t = { 'Наконец-то завезли подсветку синтаксиса' }
0xSU
Как?
Markdown