From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 18 Feb 2020 15:42:11 +0300 From: "Dmitry V. Levin" To: ALT Devel discussion list Message-ID: <20200218124211.GC28281@altlinux.org> References: <4038611581626098@sas1-c38703ca5585.qloud-c.yandex.net> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4038611581626098@sas1-c38703ca5585.qloud-c.yandex.net> Subject: Re: [devel] =?koi8-r?b?yc3Fzs/Xwc7JxSDQwcvF1M/X?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Feb 2020 12:42:11 -0000 Archived-At: List-Archive: List-Post: 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