From: Eugene Prokopiev <enp@itx.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: [devel] Языковые экосистемы
Date: Mon, 5 Mar 2018 20:12:29 +0300
Message-ID: <CANM4RujAuAVkfdUJuWzCR83u3dMm_BMrq-K=J+jdooHkqQ4Pnw@mail.gmail.com> (raw)
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
next reply other threads:[~2018-03-05 17:12 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-05 17:12 Eugene Prokopiev [this message]
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 ` Андрей Бергман
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='CANM4RujAuAVkfdUJuWzCR83u3dMm_BMrq-K=J+jdooHkqQ4Pnw@mail.gmail.com' \
--to=enp@itx.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