>В курсе, я даже в курсе, что в перле их нет.
>Зачем они мне в web-программировании, системном админситрировании, датапроцессинге? это личное дело каждого.
>Кстати замыкания я тоже
>не использую, хотя они и есть в перле ;)
я по необходимости. бывают ситуации, когда они упрощают код.
>>> неявные преобразования типов - большое зло.
>Вы обвиняете перл в том, что не читали документацию по преобразованиям, оригинально-с
>:)
читал.
#!/usr/bin/perl
sub f {
my($x, $y) = @_;
print "Called with $x, $y\n";
return ($x / $y);
}
my $bx=2;
my $by=4;
my $a="1200";
my $b="$bx$by+$bx.$by+$by.$bx";
print "$b\n";
print f($a,$b),"\n";
пока язык допускает те ужасы, как определена $b - всё будет плохо.
пока нет разницы между строкой и числом - тоже плохо.
Ибо заставляет либо втыкать кучу проверок входных параметров, либо получаем рабочий код, но не всегда работающий правильно.
(заменяем $a="1200" на $a="perl" и имеем 0 на выходе).
Это отвратительное поведение, т.к. когда стек вызовов большой, ловить ошибку становится крайне трудно.
>>> а модульность - это как раз очень хорошо.
>как концепция - да, но в питоне она реализована убого. запихнуть базовую
>математику и IO в модули - извращение.
>>> import java
>>> dir(java)
['__name__', 'applet', 'awt', 'beans', 'io', 'lang', 'math', 'net', 'nio', 'rmi', 'security', 'sql', 'text', 'util']
>>> в перле регекспы прибиты гвоздями к libprcre.
>И благодаря этому я регулярно встраиваю перл в свои C++ проги, не
>теряя ничего.
и какая связь embedded perl с libpcre? python можно как расширять модулями на C/C++, так и встраивать в свой код на C/C++
И в ваших "прогах" используется сторонние модули? или вы их статически линкуете?
>рассказываю: вы загоняете своим numpy данные в векторы или матрицы, все тем
>же numpy их транспонируете, обрезаете, еще как-то преобразовываете. А потом ,
>когда дело доходит до сколько-нибудь нешаблонного алгоритма, в котором есть хотя
>бы один питоновский оператор, питон ... сливает компилируемому языку по скорости,
>в силу своей скриптовой природы.
а что, в perl как-то иначе?
я вроде бы уже писал: где мне нехватает производительности, я пишу экстеншн на C/C++
но такие случаи - экзотика.
>А numpy - всего лишь обычная матричная библиотека, в perl для тех
>же нужд есть GSL. только мне опять таки не нужны быстросчтающиеся
>матрицы. :)
Ну GSL есть и в python.
Однако, я почему-то больше встречал тех, кто пользуется numpy/scipy/matplotlib, а не gsl.
>На придуманных задачах да. Я не нашел для себя замыканиях ничего полезного.
>Вся функциональщина не находит широкого использования уже полвека.
расскажите это ejabberd/rabbitmq/couchdb/facebook/etc
>Python просто скопировал
>куски практически никому не нужной парадигмы и выдает из за фичи.
Ой ли... а зачем тогда замыкания в перле? зачем там map/filter?
Опять же, стоит смотреть на то, что будет в perl6.
>Жаль, что вы на это повелись.
я использую это там, где удобно.
>Достаточно.
>На каждый чих подключается модуль.
в java/smalltalk/ruby так же. если вам так нравится комбайн, где есть всё сразу - вам в php. Там 3000+ функций в глобальном пространстве имен. и namespaces там только-только появились.
>Python - язык на котором можно все, но который нормально не подходит
>ни под одну задачу.
ой ли... то-то django/pylons идут семимильными шагами.
PS: а пример поиска строк в файле по набору регекспов, утилизирующего несколько cpu никто так и не показал.
Перлисты кичатся CPAN'ом, хотя там дофига протухшего или нерабочего(под 5.10).