Эндрю Несбитт разобрал, как устроены имена пакетов в разных менеджерах и почему это та ещё головная боль. В плоском неймспейсе (как в PyPI или RubyGems) всё просто: кто первый встал - того и тапки, поэтому у нас есть крутые короткие имена вроде rails. Но хорошие имена быстро заканчиваются.
npm придумал скоупы, чтобы компании могли не толкаться локтями, но старые пакеты так и живут в плоском неймспейсе, и сломать это уже нельзя - мир рухнет. В Maven пошли по-взрослому, привязав имена к доменам, но это породило проблему мертвых доменов: треть этих "групп" можно купить и подкладывать мины в зависимости.
Go вообще решил, что registry не нужен, и использовал URL-адреса репозиториев, но потом выяснилось, что без прокси-сервера и базы данных с хешами всё равно никуда.
А в Rust теперь годами горбатятся над фичей, которую надо было продумать с самого первого дня
25.02.2026
Похожее
24.02.2026
Кастомные ошибки
Надоело городить бесконечные match для обработки ошибок в каждом обработчике Axu...
23.02.2026
Аллокаторы
Автор рассказывает, как устроены аллокаторы памяти в современных языках вроде Ru...
23.02.2026
Идентификация процесса
Проcтая задача для сетевого снифера - возможность понимать, какая именно програм...
20.02.2026
Игры на Rust
Новые посты в большом туториале по написанию игр на Bevy. Круто, что автор не за...