[Moscow.pm] Perl 6
Ivan Petrov
i.petro.77.00 на gmail.com
Вт Окт 13 08:20:13 PDT 2015
>> какие ошибки программиста решают типы данных?
> Когда он пытается складывать и умножать то что числами не является и
> это известно ещё на стадии написания программы.
то есть кто-то может написать $a = $b + 'привет медвед';
и вы хотите эти ошибки контроллировать на стадии компиляции?
почему бы не контроллировать тогда такие ошибки:
$a = $b / $c;
^----- вот тут я хотел умножить, а написал разделить
черт, почему бы не ввести понятие "только умножающееся число" и тогда
компилятор будет мегаофигенно материться если кто-то попробует его
разделить?
>>> Всё ещё жду пример кода на Perl5, который показывает чем плоха типизация.
>>
>> в Perl5 нет типизации и именно это прекрасно в Perl5.
>> как можно на Perl5 привести пример чем плоха типизация, для этого надо
>> написать на нем код с типами
> Приведи пример кода на Perl5, где типизация была бы злом.
еще раз
$a = 10;
$b = '20';
$c = $a + $b;
Вот типизация зло.
$b оказывается равно 20 потому что в коде написано
а так же $b может оказаться равным '20' потому что написано
$b = $dom->findnodes('//Path/To/b')->shift->getAttribute('value');
для того чтобы не ошибаться с конкатенацией vs сложением - в Perl
придумали два оператора: один для сложения, второй для конкатенации.
поэтому аргумент что дескать программист имел ввиду конкатенацию идут
вот туда же куда аргумент что программист имел ввиду деление, а не
умножение
Подробная информация о списке рассылки Moscow-pm