[Moscow.pm] Perl vs Python

Alessandro Gorohovski an.gorohovski на gmail.com
Пн Окт 24 23:13:50 PDT 2016


Согласен,
только не совсем уверен, что
"проблема перла обратная — он молча переваривает то, что является ошибкой".

Разве strict, -w,warnings не достаточно контролируют ситуацию?


25 октября 2016 г., 0:50 пользователь Oleg Alistratov <ali на ali.org.ua>
написал:

> Плюсую.
>
> Я скажу, что меня жмет в питоне; одну из вещей, здесь ее еще не приводили
> в пример.
>
> В питоне властвует explicit is better than implicit. Это не правда. В
> перле есть политика «разумного умолчания». И это круто.
>
> Например, вам нужно удалить элемент по ключу из хэша (дикта). А в нем
> такого ключа нет. Здравый смысл говорит, что нет — и окей, не надо, все
> равно его удалять собрались, ничего страшного в этом нет.
>
> Перл выполнит delete $hash{foo} и не крякнет. Питон упадет с KeyError.
>
> И то, и то, в общем-то, верно. В рамках парадигмы языка. Не хочешь, чтобы
> питон визжал — проверь существование ключа перед удалением.
>
> Вот только в жизни это практически никогда не надо. Если бы меня
> действительно волновало, есть такой ключ или нет, я бы в перле это легко
> проверил. В питоне придется проверять каждый раз, или городить try-except,
> или (на самом деле) использовать неочевидный pop().
>
> Долгая практика позволяет мне говорить, что большие приложения на питоне
> менее устойчивы. Они падают чаще, падают в глупых местах по глупым
> причинам. Там, где достаточно было бы применить здравое умолчание.
>
> Конечно, проблема перла обратная — он молча переваривает то, что является
> ошибкой, и найти такие ошибки трудно.
>
> Но по сумме впечатлений — перл надежнее. Парадокс.
>
>
> 24.10.2016, 20:58, "Толян II" <agrishaev на gmail.com>:
> > 24 октября 2016 г., 20:47 пользователь Alexander Q <qalexx на gmail.com>
> написал:
> >> Типизация помогает рефакторить, генерировать тесты, отлаживать
> мышление, писать более качественный код, писать более быстрый код. Мешает
> типизация только писать фигню, которую в продакшн выпускать нельзя.
> > Иногда, рабочая "фигня" лучше, чем непонятно как написанный
> "качественный" код.
> >
> > Чаще "рабочий" и "написанный" лучше "ненаписанный" и "качественный".
> >
> > А "непонятно как написанный" это вообще зло.
> >
> >> On Mon, Oct 24, 2016, 20:31 Ivan Petrov <i.petro.77.00 на gmail.com>
> wrote:
> >>>> Ну претензия "нет strict режима который отслеживает необъявленные
> переменные"
> >>>> звучит довольно странно для языка, в котором нет объявления
> переменных:-)
> >>>
> >>> отсутствие объявлений переменных - такая же бага в дизайне языка как и
> >>> типизация этих самых переменных.
> >>> типизация нормальна (вернее термима) для компилируемых языков, но
> >>> типизация в скриптовых языках - зло в чистом виде
> >>>
> >>> --
> >>> Moscow.pm mailing list
> >>> moscow-pm на pm.org | http://moscow.pm.org
> >>
> >> --
> >> Moscow.pm mailing list
> >> moscow-pm на pm.org | http://moscow.pm.org
> > ,--
> > Moscow.pm mailing list
> > moscow-pm на pm.org | http://moscow.pm.org
>
>
> --
> Oleg Alistratov
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20161025/77d8fd5a/attachment.html>


Подробная информация о списке рассылки Moscow-pm