>> этот вариант уже лучше.
>> но показывает, что про ленивые вычисления вы не в курсе :)В курсе, я даже в курсе, что в перле их нет.
Зачем они мне в web-программировании, системном админситрировании, датапроцессинге? Кстати замыкания я тоже не использую, хотя они и есть в перле ;)
>> неявные преобразования типов - большое зло.
Вы обвиняете перл в том, что не читали документацию по преобразованиям, оригинально-с :)
>> а модульность - это как раз очень хорошо.
как концепция - да, но в питоне она реализована убого. запихнуть базовую математику и IO в модули - извращение.
>> в перле регекспы прибиты гвоздями к libprcre.
И благодаря этому я регулярно встраиваю перл в свои C++ проги, не теряя ничего. Ещё один влевок в сторону питоновской модульности. Хотя вам же циферки дробить надо ...
>> гм... совершенно неверно. формат/тип возвращаемых данных диктуется данными.
Формат данных дикутется алгоритмом, для обработки которых он написан. Но наверное в питоне есть искусстенный интеллект, который может принять данные абсолютно любого фрмата и сам решить что с ними делать. В противном случае вы так и не читали документацию по ref
>> расскажите это про numpy.
рассказываю: вы загоняете своим numpy данные в векторы или матрицы, все тем же numpy их транспонируете, обрезаете, еще как-то преобразовываете. А потом , когда дело доходит до сколько-нибудь нешаблонного алгоритма, в котором есть хотя бы один питоновский оператор, питон ... сливает компилируемому языку по скорости, в силу своей скриптовой природы.
А numpy - всего лишь обычная матричная библиотека, в perl для тех же нужд есть GSL. только мне опять таки не нужны быстросчтающиеся матрицы. :)
>> функции, сохраняющие свое состояние между вызовами значительно упрощают жизнь.
На придуманных задачах да. Я не нашел для себя замыканиях ничего полезного. Вся функциональщина не находит широкого использования уже полвека. Python просто скопировал куски практически никому не нужной парадигмы и выдает из за фичи. Жаль, что вы на это повелись.
>>в общем случае, пишется генератор, принимающий на вход имя файла и при каждом вызове возвращающий следующую запись.
Достаточно.
На каждый чих подключается модуль.
На каждый случай пишется генератор.
На любую мелочь пишется замыкание.
Python - язык на котором можно все, но который нормально не подходит ни под одну задачу.
Если Вам это удобно, то пишите на Питоне, дробите цифры, почаще вспоминайте о ребятах из гугла. Иными словами занимайтесь мазохизмом дальше. :)