The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Компания Mozilla передала движок Servo организации Linux Foundation"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Доступны два режима работы форума: "Раскрыть нити" и "Свернуть нити".
. "Компания Mozilla передала движок Servo организации Linux Fou..." +/
Сообщение от Ordu (ok), 19-Ноя-20, 20:55 
> Это какие то очень частные проблемы.

Но они _везде_.

> Может вам пригодится.

Надеюсь что не пригодится. В расте для этих целей есть замыкания, то есть приаттачить к функции произвольные данные и получить callable объект -- это раз плюнуть.

>> Что значит тяжёлая зависимость? В рантайме раст не тяжелее C. А для компиляции, знаешь, C тоже
>> не пёрышко. Попробуй собрать gcc или clang.
> Дело в том, что rust собирается очень долго, сам компилятор.

Попробуй собрать gcc или clang.

> И компилирует он тоже очень медленно.

Это да. Но ведь именно благодаря этому можно получать бонусы rust'а. Скажем, как ещё получить инференцию типов, кроме как заставить компилятор её обсчитывать? Зато можно положить к чертям компилятор рекурсивными типами. :D Чувак по ссылке[1] описывает что такое комбинаторы парсеров, и как они позволяют выстраивать очень быстрые парсеры, которые при этом имеют описание грамматики вменяемой читаемости. Чтобы объяснить, он комбинирует парсеры, комбинирует, комбинирует... И в один прекрасный момент его система ложится при компиляции, потому как типы оказываются вообще ппц. Он там выкручивается путём принесения рантайм производительности в жертву возможности скомпилировать код, и переходит к использованию impl, то есть к использованию vtable.

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

> И ccache его не понимает и аналогов...впрочем я не искал.

В режиме debug cargo пересобирает быстро. Если им ставить софт, то конечно бесит то, что он собирает все пакеты на каждую утилиту, и пересобирает их для каждой. Но это, я думаю, временное явление. Сейчас rust'овый софт не включают в дистры, и пока это не является проблемой, никто не будет её решать.

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

Это ещё зачем? Было бы сильно легче, если бы они научились пользоваться системно-установленным llvm, чтобы не надо было бы его пересобирать. Если бы они пользовались бы системно установленным rust'ом, тоже было бы круто. Впрочем, мне кажется, что это проблемы не столько rust'а, сколько гентушных ебилдов. Сложно сказать что там сейчас -- я прекратил ставить раст системно, проще rustup'ом тулчейны втягивать, и управлять ими через rustup и cargo, чем пилить ебилды.

А собирать rust вместе с clang -- зачем? Может ещё заодно собрать c++, fortran и все остальные языки, к которым есть фронтенд для llvm?

> Вот придурки с гнома втащили раст в svg либу, теперь сами её
> и поддерживайте.
> Оставь свою почту и телефон, когда она сломается - я тебя дёрну
> чтобы ты починил по быстрому. )

Я-то здесь при чём? Та либа скорее всего на github'е хостится, сходи туда и отпиши в issues.

>> Я тоже вижу одну проблему -- надо дождаться когда все старпёры умрут от старости.
> Это никогда не помогает.

Ты к тому, что когда умирают одни старпёры, другие уже пропитались их старпёрством настолько, что опять хрен, что изменишь? Может быть, но если это так, то это ультимативная причина забить на C, и мигрировать на rust: вокруг rust сейчас сообщество без старпёров.

upd. Ссылку забыл

[1] https://bodil.lol/parser-combinators/

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Компания Mozilla передала движок Servo организации Linux Foundation, opennews, 17-Ноя-20, 20:52  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру