@typescript_ru

Страница 542 из 669
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
Старый код дершает твой новый и расчитывает что прилетит строка а ему старый сует инт?

Страница 542 из 669