The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск языка программирования Rust 1.34"
Отправлено Аноним, 15-Апр-19 02:53 
>[оверквотинг удален]
> конкретных типов на этапе компиляции. И если это интересно, то я
> бы рекомендовал вообще посмотреть на borrow
> Для динамического полиморфизма придётся комбинировать это с &dyn Trait. То есть писать
> не функцию:
> fn foo<T: AsRef<BaseType>>(arg: T);
> а динамическую:
> fn foo(arg: &dyn BaseType);
> Примеров же реального применения я не знаю. Как правило, народ уворачивается от
> dyn Trait, в пользу статического диспатча.
> Тут речь не о презрении. На мой взгляд, заниматься разработкой и боятся компиляции -- это волков боятся в лес не ходить.

На мой же взгляд компиляцию не всегда имеет смысл делать, и если делать её смысл не имеет, её лучше не делать

> Ну мне это удобно. Когда сорцы вот они здесь, тут, и я не понимаю что происходит, я всегда могу заглянуть туда.

Вытянуть и посмотреть сорцы и пересобрать мир - разные вещи.

> Это _теоретическое_ решение. Практически оно не работает из-за масштабов.

Отлично работает. Обновляю питоньи библиотеки из гита, убрав локи на версии, и ... ничего не ломается.

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

Он не обновит - обновят другие. У популярных библиотек больше одного контрибьютера.

> Пускай эта вероятность 0.01, это значит, что при обновлении glibc, от которой зависят все пакеты debian'а, каждый сотый разработчик пропустит дедлайны на обновление своего пакета. И все пакеты которые зависят от этих пакетов тоже пропустят дедлайны.

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


> А у нас нет нужного количества чекистов и наганов? В реальности ситуация доходит до того, что невозможно создать систему, которая на всех распоследних версиях софта. Потому что когда мы дождались самых слоупоков из разработчиков, и закончили обновление пакетов, самые резкие разработчики уже успели выпустить новые версии своих пакетов, и может быть не по одной.

... которые совместимы со старыми версиями. Ещё раз - далеко не каждое изменение ломающее. Если бы хотя бы 25% изменений (каждый 4й мердж в мастер) были ломающими, мы бы тут все уже давно свихнулись бы.


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

ИМХО: проблема больше техническая. Все пакетные менеджеры делают примерно одно и то же: распаковывают архивы, раскидывают файлики по папкам, разрешают зависимости, создают симлинки, ведут базу данных, вызывают хуки, - значит проблема решается введением middleware, frontendов и backendов, где фронтэнды - это фактически переписанные поверх фреймворка пакетные менеджеры. Как LLVM, только для пакетных менеджеров. После запила и доведения до ума оригинальные пакетные менеджеры объявляются не нyжными и выкидываются на свалку истории.

Спасибо за дискуссию, про полиморфизм я так и не понял (и не нагуглил), как его запилить с помощью derefа.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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