Size: a a a

2021 April 24

AP

Anton Petrusevich in Modern::Perl
скажу, что "строгие проверки типов" в перле это по сути дополнительный тормоз
источник

AP

Anton Petrusevich in Modern::Perl
я признаю их необходимость с внешними интерфейсами, когда данные приходят извне или уходят наружу. джейсон-схемы тут наши друзья.
источник

W

Warstone in Modern::Perl
За скорость уже можно ругать? )) Да и Муз - тормозное чудовище.
источник

МК

Михаил Козачков... in Modern::Perl
Что сразу обзываться)
источник

МК

Михаил Козачков... in Modern::Perl
А вообще, да, хорошая книга
источник

OP

Oleg Pronin in Modern::Perl
Они должны быть компайл тайм
источник

OP

Oleg Pronin in Modern::Perl
Они нужны во всем коде. Это избавляет от ошибок и облегчает рефакторинг. Ты на самом деле почти не пользуешься динамикой. 99% твоих переменных хранят всегда один и тот же тип и ничего кроме него, и ты его знаешь.
источник

OP

Oleg Pronin in Modern::Perl
А уж какое ускорение это может дать для рантайма... тут непаханное раздолье, если на уровне языка конечно сделано
источник

OP

Oleg Pronin in Modern::Perl
И не через жопу, как обычно все в сурсах перла сделано
источник

AP

Anton Petrusevich in Modern::Perl
Я говорю о состоянии дел, а не о мечтах
источник

sA

saintserge Andreev in Modern::Perl
Да, но там нельзя наследовать одни типы от других. Например у меня есть Car as Dict[ id => Int] и AssignedCar который тоже Car но там еще будет аттрибут Customer. Как такое сделать в Type::Tiny я что то не понял
источник

sA

saintserge Andreev in Modern::Perl
Да скорость не особо важно. Да и то больше коцепт
источник

VG

Vadim Goncharov in Modern::Perl
очередной миф про статическую типизацию, избавляющую от ошибок
источник

OP

Oleg Pronin in Modern::Perl
Не от логических, а от компайл тайм, которые в перле ловишь потом в рантайме
источник

AP

Anton Petrusevich in Modern::Perl
по статистике амазона, таких ошибок не больше 2%
источник

AP

Anton Petrusevich in Modern::Perl
ну и таки нынче тесты на что?
источник

AP

Andrei Protasovitski in Modern::Perl
Type::Tiny не создаёт типы, он проверяет значение на соответствие определённым правилам. Примерно то же самое делает Params::Validate, или его брат Params::ValidationCompiler. Даже я запилил что-то похожее - Validate::Simple называется.

Type::Tiny можно встраивать в isa в Moo(se), но он не описывает типы. Типы описывают классы.
источник

AK

Andrey Konovalov in Modern::Perl
Согласен. Индустрия сама себе придумала проблему и сама её героически "решила". Особенно умиляет типизация в духе "от тут вот у нас число точно не больше 32768". Это какая-то подмена мягкого тёплым: реальные типы данных никакого отношения к ограничениям конкретной архитектуры не имеют и подгонять одно под другое - несусветная ахинея.
источник

AK

Andrey Konovalov in Modern::Perl
Все эти Int32, Int64, какие-то лютые штуки типа строк, состоящих почему-то из байт, а не из символов - это всё конечно очень упрощает разработку
источник

VT

Vasily Terkin in Modern::Perl
У вас какая-то ущербная строгая типизация
источник