LINUX.ORG.RU

Развитой современной экосистемой crates

vertexua ★★★★☆ ()
Ответ на: комментарий от vertexua

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

Einstok_Fair ★★☆ ()
Ответ на: комментарий от Einstok_Fair

Зачем всё это, если пакетами отлично управляет системый пакетный менеджер.

Толстовато вышло.

tailgunner ★★★★★ ()
Ответ на: комментарий от Einstok_Fair

пакетами отлично управляет системый пакетный менеджер.

Который из сотни?

anonymous ()
Ответ на: комментарий от anonymous

Добавим ещё сотню на каждый ЯП!

anonymous ()
Ответ на: комментарий от anonymous

Неа, из-за интеграции с инфраструктурой конкретного языка, в обратную сторону это не работает. Попробуй создать сарказм ещё раз.

anonymous ()
Ответ на: комментарий от tailgunner

Ну для самого главного языка нет признаного пакетного менеджера и что? Разве что для single header, stb_* всяких.

anonymous ()
Ответ на: комментарий от tailgunner

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

anonymous ()
Ответ на: комментарий от Einstok_Fair

Зачем всё это, если пакетами отлично управляет системый пакетный менеджер.

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

hateyoufeel ★★★★★ ()
Ответ на: комментарий от anonymous

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

Си не обходится без пакетного менеджера - пакетным менеджером работает программист.

В любом случае, это не имеет отношения к прекрасности работы системного пакетного менеджера.

Как обойдётся любой другой язык

А человек обойдется без водопровода и канализации.

tailgunner ★★★★★ ()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

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

Bfgeshka ★★★★★ ()
Последнее исправление: Bfgeshka (всего исправлений: 1)
Ответ на: комментарий от tailgunner

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

anonymous ()
Ответ на: комментарий от Bfgeshka

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

Вообще-то системные пакетные менеджеры и приносят, и уносят.

tailgunner ★★★★★ ()
Ответ на: комментарий от anonymous

Ты прав, но тогда под понятие непрекрасности попадают вообще все и языковые и системные менеджеры

Я не знаю, какой смысл ты вкладываешь в понятие «непрекрасность», но у языкового менеджера пакетов есть минимум два существенных преимущества: 1) в отличие от системного ПМ, которые хочет доступ к системным файлам и каталогам, языковый ПМ локален для юзера; 2) пользователь языкового ПМ не зависит от релизного цикла дистрибутива и ресурсов мейнтенера дистрибутивного пакета.

tailgunner ★★★★★ ()

Ада это старинный язык из 40-х, Rust это современный язык. Как их можно сравнивать. Ты щас и компилятора ады не найдёшь, если сканер перфокарт в чулане не завалялся.

Legioner ★★★★★ ()
Ответ на: комментарий от Bfgeshka

Всё правильно он говорит, канализация самое то сравнение.

anonymous ()
Ответ на: комментарий от tailgunner

Да не, чистая правда. Системный ПМ даёт модерацию, тестирование и предсказуемость сборки над помойками пакетов типа PyPi или Gems. Через системный менеджер мне не прилетит какая-нибудь colourama или smplejson даже если я опечатаюсь, и на разных машинах мне гарантировано прилетит одна и та же версия, не подмененная ни в хранилище, ни в полёте, ни обновлённая внезапно с потерей совместимости.

Только вот с rust'ом тут проблема - он своими сраными crates с системными пакетами не совместим никак.

slovazap ★★★★★ ()
Ответ на: комментарий от Bfgeshka

Как минимум cargo умеет деинсталлировать пакеты, так что point still holds.

И да, поверь, что с водопроводом, но без канализации, жить гораздо лучше, чем без водопровода и без канализации %)

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

Соглашусь, тут не поспорить. А кому то нужна стабильность и предсказуемость. Я же говорю тут победителей нет всё зависит от задачи.

anonymous ()
Ответ на: комментарий от slovazap

Через системный менеджер мне не прилетит какая-нибудь colourama или smplejson даже если я опечатаюсь,

О да, большая проблема.

на разных машинах мне гарантировано прилетит одна и та же версия,

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

не подмененная ни в хранилище, ни в полёте

Ну, попробуй подмени версию на crates.io.

tailgunner ★★★★★ ()
Ответ на: комментарий от slovazap

Системный ПМ даёт модерацию, тестирование и предсказуемость сборки

Первое — обычно да. Второе и третье — вряд ли.

на разных машинах мне гарантировано прилетит одна и та же версия, не подмененная ни в хранилище, ни в полёте, ни обновлённая внезапно с потерей совместимости.

Круче всего повторяемая сборка сделана в Haskell с помощью stack. В Rust вроде что-то похожее тоже пилят.

Алсо, в Rust можно и нужно указывать версии зависимостей. Это тебе не golang.

hateyoufeel ★★★★★ ()
Ответ на: комментарий от anonymous

А кому то нужна стабильность и предсказуемость

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

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

Если это важно то да, тут я не спорю в этом киллер фича есть.

anonymous ()
Ответ на: комментарий от Legioner

Ада это старинный язык из 40-х, Rust это современный язык. Как их можно сравнивать.

Только не из сороковых, а семидесятых. И последний релиз стандарта был довольно недавно. Два-три года назад это, имхо, довольно современно.

Ты щас и компилятора ады не найдёшь, если сканер перфокарт в чулане не завалялся.

Само собой, компиляторы есть, хоть тот же gnat.

В чулане с перфокартами лежат только твои разведданные.

Bfgeshka ★★★★★ ()
Ответ на: комментарий от tailgunner

Нет, нормально. ПМ в системе должен быть один.

t184256 ★★★★★ ()

Чем Раст лучше Ада?

Раст нагревает тебя меньше, чем Ад.

Deleted ()
Ответ на: комментарий от slovazap

Системный ПМ даёт модерацию, тестирование и предсказуемость сборки над помойками пакетов типа PyPi или Gems

Это ж нифига себе ты подкинул задачку мейнтейнерам дистров. Опакетить все rust либы из интернета

Deleted ()
Ответ на: комментарий от t184256

ПМ в системе должен быть один.

В системе - наверное.

tailgunner ★★★★★ ()
Ответ на: комментарий от t184256

ПМ для юзера должен с ним совпадать.

Кому должен?

Deleted ()
Ответ на: комментарий от Deleted

Это ж нифига себе ты подкинул задачку мейнтейнерам дистров. Опакетить все rust либы из интернета

Скрипта должно хватить. Это не то чтоб сложно.

hateyoufeel ★★★★★ ()
Ответ на: комментарий от hateyoufeel

«Опакечивание» не сводится к упаковке в дистрибутивно-специфичный пакет - подразумевается еще как минимум исправления ошибок и дыр. С этим тоже скрипт справится?

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

Потому что нефиг держать в системе два через задницу «кооперирующихся» ПМ.

t184256 ★★★★★ ()
Ответ на: комментарий от Deleted

Миру IT. После того, что зоопарк ПМ с нами сделал, он должен либо сдохнуть, либо жениться.

t184256 ★★★★★ ()
Ответ на: комментарий от tailgunner

«Опакечивание» не сводится к упаковке в дистрибутивно-специфичный пакет - подразумевается еще как минимум исправления ошибок и дыр.

Кем подразумевается? И почему ошибки с дырами нельзя править в апстриме, а потом опакечивать новую версию?

hateyoufeel ★★★★★ ()
Ответ на: комментарий от hateyoufeel

20 тысяч пакетов на crates.io. Половина хелловорды или занятые на будущее имена, которые даже не компилятся

Deleted ()
Ответ на: комментарий от tailgunner

Сводится. Ты себя слышишь вообще? Поддержка != опакечивание.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Потому что нефиг держать в системе два

И почему же нефиг? Расскажи подробно. Почему держать два компилятора можно, два браузера - можно, а два ПМ - нет?

через задницу «кооперирующихся» ПМ.

Вот в этом твоя ошибка. cargo и системный ПМ «кооперируются» от «слабо» до «никак».

tailgunner ★★★★★ ()
Последнее исправление: tailgunner (всего исправлений: 2)
Ответ на: комментарий от hateyoufeel

«Опакечивание» не сводится к упаковке в дистрибутивно-специфичный пакет - подразумевается еще как минимум исправления ошибок и дыр.

Кем подразумевается?

Пользователями дистрибутива (ты, конечно, исключение).

И почему ошибки с дырами нельзя править в апстриме, а потом опакечивать новую версию?

Я повторю вопрос - это всё делает скрипт?

tailgunner ★★★★★ ()
Ответ на: комментарий от t184256

Миру IT. После того, что зоопарк ПМ с нами сделал, он должен либо сдохнуть, либо жениться.

А что он сделал?

Вы предпочитаете копать колодец и хлебать щи одним и тем же инструментом?

Deleted ()
Ответ на: комментарий от tailgunner

Пользователями дистрибутива (ты, конечно, исключение).

Откуда инфа?

Я повторю вопрос - это всё делает скрипт?

Ты, как всегда, выдумал своё определение слову «опакечивание», и теперь задаёшь странные вопросы.

hateyoufeel ★★★★★ ()
Ответ на: комментарий от tailgunner

И почему же нефиг? Расскажи подробно. Почему держать два компилятора можно, два браузера - можно, а два ПОм - нет?

Потому что два браузера не взаимодействуют, два компилятора - тоже, а вот три ПМ - еще как.

Один и тот же пакет на Debian Buster с Anaconda можно поставить через apt «в систему», через conda «в систему», через conda «в пользователя», через pip «в систему», через pip «в пользователя». Это - ад.

Вот в этом твоя ошибка. cargo и системный ПМ «кооперируются» от «слабо» до «никак».

Ага, об этом и ною. При каждой сборке расто-пакета приходится либо пересобирать из нифига весь растомир, либо выкидывать каргу и велосипедить ее замену (buildRustPackage в nixos). При сборке каждой зависимости, требующей либ не из растомира нужно плакать и руками сочетать два ПМ.

А надо бы кооперироваться, ёптыть.

t184256 ★★★★★ ()
Ответ на: комментарий от hateyoufeel

«Опакечивание» не сводится к упаковке в дистрибутивно-специфичный пакет - подразумевается еще как минимум исправления ошибок и дыр.

Кем подразумевается?

Пользователями дистрибутива (ты, конечно, исключение).

Откуда инфа?

https://www.debian.org/security/

И почему ошибки с дырами нельзя править в апстриме, а потом опакечивать новую версию?

повторю вопрос - это всё делает скрипт?

Ты, как всегда, выдумал своё определение слову «опакечивание», и теперь задаёшь странные вопросы.

Ты не ответил про скрипт.

tailgunner ★★★★★ ()
Ответ на: комментарий от t184256

Один и тот же пакет на Debian Buster с Anaconda можно поставить через apt «в систему», через conda «в систему»

Зачем вы в систему тащите всякую гадость в обход ПМ? У вас там Слака?

, через conda «в пользователя», ... через pip «в пользователя». Это - ад.

Почему?

Deleted ()
Ответ на: комментарий от t184256

И почему же нефиг? Расскажи подробно. Почему держать два компилятора можно, два браузера - можно, а два ПОм - нет?

Потому что два браузера не взаимодействуют, два компилятора - тоже, а вот три ПМ - еще как.

Три каких ПМ? Например, как взаимодействуют cargo и apt/dpkg?

Вот в этом твоя ошибка. cargo и системный ПМ «кооперируются» от «слабо» до «никак».

Ага, об этом и ною.

Спроектируй и реализуй поддержку Rust в apt.

При сборке каждой зависимости, требующей либ не из растомира нужно плакать и руками сочетать два ПМ.

И каким образом отсутствие cargo этому поможет?

tailgunner ★★★★★ ()
Последнее исправление: tailgunner (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.