Size: a a a

2020 December 15

AK

Aleksandr Kvintilyan... in PHP
вот дженериков реально не хватает для строгой типизации, как по мне
источник

AK

Aleksandr Kvintilyan... in PHP
псалм конечно все это умеет, но это тоже решение как бы не из коробки -)
источник

AM

Artem Molotov in PHP
Pavel Agaletskiy
это как раз пункт 2 из моего сообщения выше - надо использовать сторонние расширения, библиотеки и прочее, переписывая все и страдая на каждом шаге. Т.е. такое можно использовать только, пиша проект с нуля. А с нуля я могу и на go/python/node/java написать
А без "с нуля" и не выйдет, т.к. придётся ломать все проекты, забросив обратную совместимость. И всё равно пришлось бы фиксером проставить эвейты
источник

AW

Alex Wells in PHP
Artem Molotov
А без "с нуля" и не выйдет, т.к. придётся ломать все проекты, забросив обратную совместимость. И всё равно пришлось бы фиксером проставить эвейты
и чем бы помогли эвейты, если нужны были б еще и асинки. А это значит, что и во всех интерфейсах во всех либах они нужны и в самих либах при вызовах
источник

AW

Alex Wells in PHP
ну и поддержка в фреймворках - например в хендлере для раута все должно быть асинхронно сразу
источник

AK

Aleksandr Kvintilyan... in PHP
Alex Wells
и чем бы помогли эвейты, если нужны были б еще и асинки. А это значит, что и во всех интерфейсах во всех либах они нужны и в самих либах при вызовах
о том и речь, я писал выше кстати
источник

AM

Artem Molotov in PHP
Aleksandr Kvintilyanov
По поводу вывода типов в IDE разработчики amphp мечтают о джеенериках больше -)
В пхпдоках уже используют, включая псалмовские. Помогает. Вот тольо в ампе не везде они проставлены (хотя возможность проставить есть)
источник

AM

Artem Molotov in PHP
Artem Molotov
В пхпдоках уже используют, включая псалмовские. Помогает. Вот тольо в ампе не везде они проставлены (хотя возможность проставить есть)
Как минимум в комбинаторах any, some, first, wrap их нет. https://github.com/amphp/amp/pull/334
источник

AK

Aleksandr Kvintilyan... in PHP
Artem Molotov
В пхпдоках уже используют, включая псалмовские. Помогает. Вот тольо в ампе не везде они проставлены (хотя возможность проставить есть)
Да, есть, но хотелось бы в коде, хотя я прекрасно понимаю, что это очень дорого для некомпилируемого языка
источник

AM

Artem Molotov in PHP
Aleksandr Kvintilyanov
псалм конечно все это умеет, но это тоже решение как бы не из коробки -)
"из коробки" и не нужно, имхо (если бы не колстек и прочее подобное)
источник

AW

Alex Wells in PHP
Aleksandr Kvintilyanov
Да, есть, но хотелось бы в коде, хотя я прекрасно понимаю, что это очень дорого для некомпилируемого языка
с чего бы дорого?
источник

AM

Artem Molotov in PHP
Alex Wells
и чем бы помогли эвейты, если нужны были б еще и асинки. А это значит, что и во всех интерфейсах во всех либах они нужны и в самих либах при вызовах
асинки проставлять (в теории) может быть и не обязательно (если при этом не указаны тайпхинты возвратов)
источник

AK

Aleksandr Kvintilyan... in PHP
На недавнем митапе по поводу выхода пхп 8 Стогов говорил, почему дженерики это дорого
источник

AM

Artem Molotov in PHP
Alex Wells
с чего бы дорого?
Мейнтейнеры говорили, что дженерики в рантайме — дороговато. Насколько — хз
источник

AW

Alex Wells in PHP
я уже об этом тут говорил, потом товарищи засрали. Вариант с дженериками, которые нихера не проверяются в рантайме - вполне нормальный. Доделать утилиту типа псалма (или псалм сделать рекомендуемым 3rd party решением) для стат. анализа позже - нормально
источник

AK

Aleksandr Kvintilyan... in PHP
Я уж не помню его слова, можно по желанию найти в ютубе и посмотреть митап
источник

VM

Volodymyr Melko in PHP
Aleksandr Kvintilyanov
На недавнем митапе по поводу выхода пхп 8 Стогов говорил, почему дженерики это дорого
а что вы так все упоролись в нативные дженерики?
источник

AK

Aleksandr Kvintilyan... in PHP
я не упоролся, это просто удобно при разработке, так то я и с псалмом поживу и с пхпдоками
источник

PA

Pavel Agaletskiy in PHP
в смысле асинков как раз мне больше нравится логика котлина, где слово suspend работает наоборот - без написания async { … } любой метод выполняется синхронно
источник

PA

Pavel Agaletskiy in PHP
и это гораздо приятнее, потому что в большинстве случаев ты наоборот хочешь ждать асинка
источник