From: "Dmitry V. Levin" <ldv@altlinux.org>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] именование пакетов
Date: Tue, 18 Feb 2020 15:42:11 +0300
Message-ID: <20200218124211.GC28281@altlinux.org> (raw)
In-Reply-To: <4038611581626098@sas1-c38703ca5585.qloud-c.yandex.net>
On Thu, Feb 13, 2020 at 11:34:58PM +0300, Скрылевъ Малъ wrote:
> Приветствую всех,
>
> Тут уже какой раз встаёт вопрос о именовании пакетов, на что я решил написать коротное разыскание. И оно выразилось в следующей таблице.
>
> Номера и толкование столбцов и саму таблицу я привожу ниже:
>
> 1. имя хранилища пакетов
> 2. количество пакеток на сегодня
> 3. употребляемый язык программирования для написания библиотек для хранилища
> 4. наименование системы разработки, движка, или облака для этого хранилища
> 5. предлагаемый префикс
>
> 1 2 3 4 5
>
> npmjs 1,302,589 js node/pure npmjs-
> atom 12,904 js atom atom-
> bower 69,684 js pure bower-
> atmospherejs 13,410 js meteor atmospherejs-
> crates 37,102 rust cargo crate-
> carthage 3,945 swift/c/objc cocoa carthage-
> cocoapods 68,857 swift/c/objc cocoa cpod-
> swiftpm 4,207 swift swiftpm swiftpm-
> clojars 24,295 clojure clojars clojar-
> cran 16,880 r r cran-
> conda 1,935 python/r anaconda conda-
> pypi 237,491 python pypi pypi-
> metacpan 37,628 perl metacpan metacpan-
> cpan 185,296 perl cpan cpan-
> dub 1,920 d dub dub-
> elm 1,505 elm elm elm-
> go 1,818,640 go go go-
> hackage 14,585 haskell hackage hackage-
> haxe 1,436 haxe haxelib haxe-
> hex 9,578 erlang/elixir hex hex-
> julia 3,048 julia julia julia-
> maven 185,034 pom java maven-
> nuget 201,136 c#/vb/ps .net/mono nuget-
> packagist 317,896 php packagist packagist-
> pub 10,657 dart flutter pub-
> shards 33 crystal shards shard-
> gems 162,413 ruby rubygems gem-
> puppetforge 6,396 ruby puppet puppet-
> ansiblegalaxy 23,850 ruby ansible ansible-
>
>
>
> Заметки к этой таблице таковы, как из неё видно, во-первых для некоторых языков программирования используются несколько разных хранилищ, так для ruby есть три разных хранилища основное rubygems, и специфические puppet и ansible, для python это pypi и conda, для r это cran и тот же conda, для perl это cpan и metacpan, для swift это родной swiftpm и дополнительные carthage, cocoapods, ну и чемпион js, у которого налюдается настоящий бардак: например для системы node как правилно используется хранилище npmjs, но пакеты его так устроены, что могут быть написаны на чистом js, и ноды и не требовать, это явно прописывается в требованиях движка, пакеты хранилища atom переиспользуют npmjs, но оно длявляется для него второстепенным и к ним он добавляет свои зависимости, хранилище bower вообше не использует какой либо конкретный движок, и часто его паеты написаны на чистом js, а ещё это движок meteor со своим atmospherejs.
>
> Во-вторых для написания пакетов для некоторых хранилищ используются несколько языков программирования, например: для carthage и cocoapods это три языка: swift, c и objc, для conda это python и r, для nuget это все мелкомягкие языки (те что в mono) , а для hex это elixir и erlang.
>
> Для стороннего разработчика же как пользователя нажего репозитория важно понимать именно к какому хранилищу пакет относится, а не на каком языке он написан, это второстепенно, если скажем я программирую на elixir-е, то вполне под именованием пакета как hex- ожидаю встретить по зависимостям пакет на erlang, потому что так принято в том сообществе.
>
> Моё предложением такое ориентироваться по крайней мере в именованиях новых пакетов именно на имя хранилища, предлагаемые префиксы для которых я поместил в соответствующем столбце таблицы.
> Мне всыказывались мнения, что было бы хоро понимать также несведущим в хранилищах к какому языку относится пакет, это моно решить указываем его явно в каком либо свободном формате в автоматическом provide.
> Имена пакетов со старых подходом в принципе можно и не особо менять.
Надеюсь, никто не воспримет это предложение иначе как шутку.
--
ldv
next prev parent reply other threads:[~2020-02-18 12:42 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-13 20:34 Скрылевъ Малъ
2020-02-14 0:00 ` Vitaly Lipatov
2020-02-17 14:19 ` Vladimir D. Seleznev
2020-02-17 17:55 ` Ivan Zakharyaschev
2020-02-18 12:42 ` Dmitry V. Levin [this message]
2020-02-18 13:32 ` Anton Farygin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200218124211.GC28281@altlinux.org \
--to=ldv@altlinux.org \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git