ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Андрей Бергман" <vkni@yandex.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Языковые экосистемы
Date: Sat, 10 Mar 2018 07:53:24 +0300
Message-ID: <4278121520657604@web4o.yandex.ru> (raw)
In-Reply-To: <CANM4RujAuAVkfdUJuWzCR83u3dMm_BMrq-K=J+jdooHkqQ4Pnw@mail.gmail.com>

Ну в данном случае надо разделять пользователя и разработчика.
Мало кто всё-таки склонен таскать всё-с-собой windows-style для
каждого пользователя отдельно. Каждый пользователь Sisyphus'а
 в основном пользователь всех этих языковых систем, и изредка - 
разработчик какой-то одной, ну двух.

У части систем есть lts релизы - texlive, stack (Haskell), opam switch (Ocaml).
Т.е. можно засовывать в компонентный репозитарий Sisyphus именно этот
lts релиз. Это, конечно, не cutting-edge, но вполне разумно-свежий сборник,
подпиленный мейнтейнерами языкового репозитария.

Некоторая проблема возникает в том, что часть этих экосистем
требуют общих библиотек (binding'и). И эти библиотеки могут конфликтовать.
Гипотетический пример: GSL старой версии требуется для последней версии OPAM'а,
а для Python'а уже нужна самая свежая версия GSL.

Т.е., возможно, придётся реализовывать механизм альтернатив по
общим библиотекам.

Кроме того, языковые репозитарии "дышат" - у них меняются внутренние
зависимости, какие-то пакеты уходят в deprecated и поэтому должны быть
удалены из Sisyphusa автоматом.

Вообще, правильное подключение языковых репозитариев, насколько я
понимаю, не решено нигде.

Андрей.

05.03.2018, 20:12, "Eugene Prokopiev" <enp@itx.ru>:
> 3 марта 2018 г., 16:02 Igor Vlasenko написал:
>
>>  ... ранее
>>  большинство языковых экосистем у нас были представлены
>>  только базовым компилятором или интерпретатором и ограниченным набором
>>  основных библиотек. На самом деле такая ситуация не очень
>>  хороша. Это как дать пользователю базовую систему
>>  (ядро+shell+cc) и сказать, а дальше собирайте сами.
>>  Тем не менее, большинство предпочтет полноценный дистрибутив
>
> Вот в этом месте ошибка. Большинство предпочтет тот способ, который
> рекомендует апстрим. Апстримы рекомендуют maven/gradle, npm/yarn,
> rubygems, cpan и прочие pip/virtualenv для библиотек, а еще
> sdkman/nvm/rvm и т.д. для выбора рантайма
>
> Разумеется, этот способ плох: мы тянем артефакты из чужого репозитария
> (а там свои тараканы), вдобавок некоторые еще и компилируем. Но у
> этого способа есть критически важное преимущество - он работает.
> Тысячи пакетов к любой языковой экосистеме в Сизифе не работают, а
> просто лежат мертвым грузом (хорошо, не к любой, но к актуальным для
> меня java и python, возможно в случае ocaml или texlive все иначе).
> Как только дело доходит до запуска прикладного ПО, которое умеет
> делать что-то полезное (от eclipse до webvirtmgr или собственно
> packages.altlinux.org :) ) - увы :(
>
> Для большинства полноценная поддержка языковых подсистем - это (в
> порядке убывания значимости):
>
> 1) актуальная версия компилятора/интерпретатора и прочих инструментов в Сизифе
> 2) работающая возможность установки библиотек рекомендуемым апстримом
> способом (т.е. не из Сизифа)
> 3) опакеченное в Сизиф популярное прикладное ПО на этом языке
> 4) возможность пользоваться Сизифом вместо родного для этого языка репозитария
>
> Да, еще (0) - возможность поставить хотя бы официальный пакет с сайта
> апстрима, если в Сизифе версия (как оно часто бывает) протухла ...
>
> Все это прямо таки взывает к призраку старой идеи о разделении Сизифа
> на компоненты. Даже формулировка полиси напрашивается: языковая
> экосистема может появиться в базовой части Сизифе тогда и только
> тогда, когда она в состоянии обеспечить сборку и поддержку
> необходимого для базовой части прикладного ПО на своем языке (в объеме
> не большем, чем необходимо для этого самого прикладного ПО), иначе она
> должна быть удалена из Сизифа. perl/python/lua похоже, проходят ценз,
> java/ruby/ocaml/nodejs/texlive с высокой вероятностью вылетают в
> дополнительные компоненты, в совсем отдельные компоненты вылетают
> тысячи импортированных библиотек, ценность которых стремится к нулю
> (потому что пользователю компонента java с высокой вероятностью не
> потребуются тысячи java-библиотек) ...
>
> Может большая часть обсуждаемых проблем сборочницы - это проблема
> отсутствия компонентов (не обязательно привязанных к языковым
> экосистемам, они просто под руку подвернулись)?
>
>>  Но сейчас ALTLinux вырастает из детских штанишек,
>
> Мне кажется, что сейчас мы больше обсуждаем автоматизацию смены
> памперсов ... Тоже полезное дело, однако рост выглядит иначе:
> упоминание ALT на апстримных страничках установки языковых экосистем
> как минимум и рекомендация там же использовать Сизиф уже как максимум.
>
> --
> WBR,
> Eugene Prokopiev
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


      parent reply	other threads:[~2018-03-10  4:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-05 17:12 Eugene Prokopiev
2018-03-06  9:43 ` Paul Wolneykien
2018-03-09 18:01   ` Vladimir D. Seleznev
2018-03-09 21:16   ` Yury A. Romanov
2018-03-10  0:34     ` Vitaly Lipatov
2018-03-06 12:33 ` Igor Vlasenko
2018-03-10  4:53 ` Андрей Бергман [this message]

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=4278121520657604@web4o.yandex.ru \
    --to=vkni@yandex.ru \
    --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