
Morsik
14.03.2018
23:37:03
оу, в рантайме чекать типы

anatolii
14.03.2018
23:37:17
ага, не ахти, но лучше чем вообще не чекать

Le
14.03.2018
23:37:17
просто в тот же петон типы-то завозят, но типы от слова костыли

John
14.03.2018
23:37:43

Google

anatolii
14.03.2018
23:37:45
в петоне ведь строке нельзя присвоить число явно, и это тоже круто

Morsik
14.03.2018
23:37:49

anatolii
14.03.2018
23:37:59
оно итак упадет
несовпадение данных

Le
14.03.2018
23:38:36

anatolii
14.03.2018
23:38:40
либо получишь в базе undefined, undefined, undefined
? __штука__(self, arg)

Le
14.03.2018
23:40:04
почти
__штука__ = { a: string, b: int, Return: boolean }
что-то такое там
типа 2 аргумента и возвращаемое значение

John
14.03.2018
23:43:10

anatolii
14.03.2018
23:44:20
это спорное заявление, памяти меньше жрет, кеша меньше тратит, находит нужный код быстрей

Google

anatolii
14.03.2018
23:44:28
везде свои плюсы есть
опкеш пхпшный работает шикарно

John
14.03.2018
23:44:40
Бо нельзя взять и изолировать код библиотеки. И скажем, использовать разные версии

anatolii
14.03.2018
23:45:39
а еще в пхп есть зефир
оч хорошая штука

John
14.03.2018
23:46:33

anatolii
14.03.2018
23:46:54
так в ноде тоже

John
14.03.2018
23:47:03
Нет же

anatolii
14.03.2018
23:47:07
так везде где есть зависимости либ между собой

John
14.03.2018
23:47:17
Прям совсем нет

anatolii
14.03.2018
23:47:37
ну если сравнить нпм с композером то так же, а бинарники они такие
тут можно поизвращаться

John
14.03.2018
23:48:00
Если есть разница, то устаревшая не выносится в общий флэт три
А пихается внутрь библиотеки

anatolii
14.03.2018
23:49:01
ну, в таких деталях я не силен
у меня ни конфликтов таких явзых не было, ни сам не делал библиотек

John
14.03.2018
23:49:29
A и B зависят от C. Если версии удволетворяют, то С выносится в общее дерево

anatolii
14.03.2018
23:50:01
а, я понял, зависимости поднимаются если удовлетворяют всем

John
14.03.2018
23:50:05
Если А использует старее, то ему в node_modules внутрь ставится старый С

anatolii
14.03.2018
23:50:08
иначе внутри либы хранятся?

Google

John
14.03.2018
23:50:16
Именно
В пыхе это физически на уровне архитектуры не возможно

anatolii
14.03.2018
23:51:13
да, там все одним уровнем
ну это по большей степени проблемы композера
он мог бы сделать костыль ?

John
14.03.2018
23:51:57
В конечном счете это твои проблемы

anatolii
14.03.2018
23:52:08
хотя конфликт неймспейсов будет
Зато в пхп есть типизированные аргументы ?
хотя скаляры там работают все равно через одно место

John
14.03.2018
23:54:28
Можно было бы пробежаться по дереву файлов и заменить имена. Но тогда типизация по пизде пойдет. Да и тебе нужно будет как-то знать что А использует С с другими именами. В общем нельзя это взять и решить

anatolii
14.03.2018
23:55:43
function norm(A a){}
function poop(int a){}
norm(new B) // error
poop('qwe') // not error
на скаляры у него срабатывает автопреборазование
я не знаю почему так сделали, но ошибок не будет
с ретурном тоже самое
С классами все работает шикарно

John
14.03.2018
23:58:54
Нит https://3v4l.org/UhjBc
Это давно уже завезли

anatolii
15.03.2018
00:00:41
Да, я ща ищу вариант, не так давно наткнулся на костыль, сек

John
15.03.2018
00:00:44
Какое-же это ебобо набирать пхп код с телефона

Google

anatolii
15.03.2018
00:02:06
http://sandbox.onlinephpfunctions.com/code/3ffc4579541efe9bfed85e5322156628119ff2cf
Во, нашел, если указать строку, он принимает все
и приводит к строке
любой литерал принимает

John
15.03.2018
00:04:19
https://3v4l.org/VNTou
В 5.6 было как тебе хотелось. В 7 что-то поменяли

anatolii
15.03.2018
00:05:19
да, если указать declare(strict_types=1); // strict mode то он одумается
но ебушки воробушки

John
15.03.2018
00:05:28
Но тут не силен. После 5.6 в руки не брал

anatolii
15.03.2018
00:05:46
зачем делать что-то хорошее и обвешивать его костылями
в общем приколов везде хватает

John
15.03.2018
00:06:00

anatolii
15.03.2018
00:06:07
нет ничего идеального
обратная совместимость самое худшее что можно придумать

John
15.03.2018
00:06:27
Какой обратной совместимости?

anatolii
15.03.2018
00:06:34
ангуляр сдох бы если бы подумал об обратной совместимости в вессии 2
но внезапно он более популярен чем 1.х

John
15.03.2018
00:07:16
Так старые не указывают тип. Проверки нет
Какая совместимость?

anatolii
15.03.2018
00:07:41
там есть ньюансы, оч много депрекейтед штук

Google

anatolii
15.03.2018
00:07:58
ругается ужасно в логи
а кое что вообще не работает, миенованые конструкторы
в 5 версии их оставили ради "обратной совместимости" и всем похрену было, как писали раньше говнина, так и стали писать дальше
пока не рубанули совсем

John
15.03.2018
00:09:33
Не понял. Вот есть легаси
Там нет тайпинга скаляров

anatolii
15.03.2018
00:10:40
не, выше бери, типы добавляли постепенно, и есть код который использует старый подход, для его и оставили лойальность такую
типа вроде типизирован, но как-то не ахти
раньше скаляры нельзя было типизировать

John
15.03.2018
00:11:49
Старый код дершает твой новый и расчитывает что прилетит строка а ему старый сует инт?