@spbpython

Страница 298 из 785
Nikolay
23.02.2017
11:43:40
Ну что за элитизм?
это не элитизм вовсе

я про то, что у них в npm зависимости, в которых отдельная либа для реализации функции map, например

которая пишется руками за секунды

и если ее убрать из репы - куча написанного кода сломается

Google
Nikolay
23.02.2017
11:45:01
да и вообще, то, установится ли пакет npm’ом, зависит от фазы луны и сочетания звезд

сама инфраструктура, которую они построили вокруг языка, его дискредитировала

язык может быть сколь угодно хороший, но инфраструктура вокруг него - говно

Stepan
23.02.2017
11:46:35
Все там нормально, болячки и проблемы есть но решаются.

Вокруг js большая и живая экосистема

Nikolay
23.02.2017
11:47:22
невозможно решить 1024+ зависимостей в среднем на проект

невозможно научить людей писать руками map, а не импортировать плагин для этого

не знаю, я очень скептически отношусь к будущему js

там надо выкинуть вообще все и переписать на новый пакетный менеджер и формат ресолвинга зависимостей

и то не факт, что это поможет

потому что ни стабильных API, ни умения писать вещи руками от этого у народа не появится

Jonh
23.02.2017
11:50:57
проблемы плохого дизайна ЯП, как показывает история, не решаются с сохранением обратной совместимости

Google
Serge
23.02.2017
11:59:35
aiohttp - штука активно развивающаяся и они там много чего ломают, это да
Ну, развитие не мешает делать многое аккуратно. Хотя там нечего ломать, @stepanz не апи и был. Что в aiohttp, что в asyncio. Я первый раз когда-то увидел, у меня чуть глазками кровь не пошла. По четыре слова в именах методов? Офонарели совсем.

Serge
23.02.2017
12:03:44
слишком много явного это уже шум, хотел бы шума писал бы на го
Только там тебе не дают в таких вещах ошибаться обычно.

ну лан, я не в брасыаю, я ж из опыта работы и с тем и с другим. просто мой совет сильно не обольщаться по поводу asyncio, не все там радужно и просто
Начиная с того, что оно не нужно в реальной жизни. И в реальных задачах упирается в эти самые run_in_executor при каждом удобном случае

и я желаю, чтобы он поскорее уступил место нормальным языкам)
Он уже. ES6 весьма приятнее того же руби или пхп.

Nikolay
23.02.2017
12:07:24
Он уже. ES6 весьма приятнее того же руби или пхп.
так-то да, но говноинфраструктуру это не исправит

Stepan
23.02.2017
12:08:53
yarn

Nikolay
23.02.2017
12:09:04
Это происходит с завидной регулярностью там. Вот yarl
в питоне есть pip уже сотню лет, а distribute и setuptools уже давно слили в один пакет

Stepan
23.02.2017
12:09:07
yarn хорош, хотя там были проблемы

Nikolay
23.02.2017
12:09:10
почему такого же нет в js?

Stepan
23.02.2017
12:09:16
Лол

Serge
23.02.2017
12:09:22
не вижу проблемы в четырех словах, если код читабельнее от этого
Он визуально выглядит говном вот прямо сразу как такое появляется

Stepan
23.02.2017
12:09:41
Как каша из setup.py может быть лучше package.json?

Serge
23.02.2017
12:10:12
yarn
Угу

Nikolay
23.02.2017
12:10:16
Как каша из setup.py может быть лучше package.json?
ээ, легко? там нет каши, там один метод

Serge
23.02.2017
12:11:09
в питоне есть pip уже сотню лет, а distribute и setuptools уже давно слили в один пакет
И пип не решает многого и потому есть pipfile, но идет с трудом. Скорость развития не сравнима с yarn и webpack

Google
Serge
23.02.2017
12:11:29
почему такого же нет в js?
Боже упаси их от pip

Nikolay
23.02.2017
12:12:12
И пип не решает многого и потому есть pipfile, но идет с трудом. Скорость развития не сравнима с yarn и webpack
ну да, наверное, поэтому он прыгнул с версии 1.5 до версии 10.0 за несколько лет

Боже упаси их от pip
но pip лучше того, что там сейчас

Serge
23.02.2017
12:12:35
ээ, легко? там нет каши, там один метод
Это пока пакетов не 30 в зависимостях и они не тянут еще четыре слоя за собой

Nicolas
23.02.2017
12:16:38
Всем привет! Может кто знает ответ? http://ru.stackoverflow.com/questions/631587/

Serge
23.02.2017
12:17:29
Несколько лет по меркам js -это вечность;)

В чем угодно. В зависимости двух пакетов от разных версий третьего.

В конфликте новой версии пакета, от которого ты зависишь, с новой версией зависимости его зависимости.

Nikolay
23.02.2017
12:19:25
В чем угодно. В зависимости двух пакетов от разных версий третьего.
это проблема в любом языке одна и та же, ее решить практически нереально

точнее как, решения два

Nikolay
23.02.2017
12:19:38
либо ставить одну из версий, либо падать

Serge
23.02.2017
12:23:21
Nikolay
23.02.2017
12:23:34
ее не может не быть

вопрос только в том, как она решается

Serge
23.02.2017
12:24:20
ее не может не быть
Учи матчасть. Оно ставит зависимости внутрь каждой либы отдельно. А потом оно инклюдится, кому что надо.

И только в Питоне с глобальным реестром импортированных модулей в рантайме мы получили pip.

Nikolay
23.02.2017
12:25:53
Учи матчасть. Оно ставит зависимости внутрь каждой либы отдельно. А потом оно инклюдится, кому что надо.
интересно, каким образом это возможно в C/C++, где все зависимости объединяются в одну портянку?

Google
Serge
23.02.2017
12:26:22
В Java и Ruby - как в Питоне. В go уже сделали локальные зависимости пакета.

интересно, каким образом это возможно в C/C++, где все зависимости объединяются в одну портянку?
Ну, там можно хитро собрать, статично включая каждой либе её зависимости.

Nikolay
23.02.2017
12:31:05
ну, в питоне ты можешь на несколько виртуаленвов сетап размазывать и перекидывать между ними данные pickle, теоретически...

будет примерно то же самое

это автоматизировать даже можно, при желании

говно, конечно, получится, но все же

Serge
23.02.2017
12:35:00
говно, конечно, получится, но все же
Это ахтунг и велосипед масштабов космолета, чтобы получить npm:)

Nikolay
23.02.2017
12:35:25
когда я пишу в require какой-то пакет - какая мне версия подсосется?

Admin
ERROR: S client not available

Serge
23.02.2017
12:35:40
ну, в питоне ты можешь на несколько виртуаленвов сетап размазывать и перекидывать между ними данные pickle, теоретически...
С этого места я просто пилю отдельный сервис с отдельной функциональностью, да типа отдельный сетап;)

А если ты пишешь require и не написал в package.json, то прости.

Nikolay
23.02.2017
12:37:28
мне надо что, все стопицот зависимостей туда писать?

Serge
23.02.2017
12:37:47
мне надо что, все стопицот зависимостей туда писать?
Все прямые. А в Питоне ты не так делаешь?

Или поставил flask и надеешься, что с версией Mako не будет проблем, если её импортировать?

Nikolay
23.02.2017
12:38:58
делаю, но, например, я знаю, что pandas включает в себя dateutil и six, поэтому их необязательно напрямую указывать

иначе может как раз начаться говно с версиями

Google
Nikolay
23.02.2017
12:39:43
О Б Я З А Т Е Л Ь Н О
с гвоздями прибитой версией? нет

только с диапазоном минимум

Serge
23.02.2017
12:39:57
иначе может как раз начаться говно с версиями
Лучше говно с версиями у тебя, чем говно с проектом в проде.

Nikolay
23.02.2017
12:39:58
не, я согласен, что это не совсем корректно

по крайней мере, тут нет никаких неявностей и костылей

все просто работает

Serge
23.02.2017
12:41:01
только с диапазоном минимум
С гвоздями прибитой явно в r11.txt проблем не будет.

С гвоздями прибитой явно в r11.txt проблем не будет.
Только и с версиями flask и mako, только так.

Nikolay
23.02.2017
12:41:45
Serge
23.02.2017
12:42:25
И r11.in, в котором указано, что ты хочешь диапазон и того, и другого, если импортируешь обоих

Nikolay
23.02.2017
12:42:42
о, а я, кстати, вспомнил готовое решение

можно вместо прямого импорта использовать поиск через pkg_resources

конкретной версии

Serge
23.02.2017
12:43:11
Я устал это писать. pip freeze -r r11.in > r11.txt

Nikolay
23.02.2017
12:43:18
и тогда можно будет без ада

интересно, надо попробовать

Serge
23.02.2017
12:44:04
и тогда можно будет без ада
Оно не даст иметь две разных в одном рантайме. Просто упадёт.

Nikolay
23.02.2017
12:44:50
Оно не даст иметь две разных в одном рантайме. Просто упадёт.
даст, если их под разными неймспейсами импортировать

ты можешь, скажем, в pandas заимпортить dateutil, обозвав его pandas_dateutil

Serge
23.02.2017
12:46:35
ты можешь, скажем, в pandas заимпортить dateutil, обозвав его pandas_dateutil
Попробуй. Есть подозрение, что оно в sys.modules оригинальное имя кладет.

А как их установить рядом, чтобы оба нашлись?

Страница 298 из 785