Re: Программирование научных программ на C.
On Wed, 12 Feb 2014, Sergey B Kirpichev wrote:
SBK>> SBK>http://pdl.perl.org/?page=reference
SBK>> SBK>http://docs.scipy.org/doc/
SBK>> Эээээ, и что это должно иллюстрировать?
SBK>
SBK>Что больше "доделано".
SBK>
SBK>> Что у питона нет встроенной документации?
SBK>
SBK>С чего вы взялись утверждать подобный идиотизм?
Вы сами дали мне ссылку на пучок каких-то кривых и косноязычных
PDF-ов, утверждая что это-то и есть документация. Из этого я делаю
вывод, что другой, нормальной документации, аналогичной, скажем,
перловскому POD - у вас там нет. Если я ошибся, и Вы имели в виду
что - то другое - что ж, прекрасно.
SBK>
SBK>Стесняюсь, но придется спросить: вы вообще python использовали?
Я? Боже упаси! Мне приходилось немного править скрипты на
питоне, писанные другими. Для того чтобы оценить прелести и ароматы
сего явления этого вполне достаточно, ящетаю.
SBK>
SBK>> Numpy примерно соответствует (за вычетом разной странной фигни,
SBK>> которая в PDL не нужна, потому что гораздо лучшая функциональность
SBK>> в Перле изкоробки) первым четырем модулям PDL: Core,
SBK>> Basic,Ops,Ufunc. Ну, плюс еще CallExt, уж коли мы заговорили о
SBK>> фортране. Но в PDL-то этих модулей - шестьдесят! Плюс еще десятка
SBK>> два модулей для PDL отдельно, на CPAN-е.
SBK>
SBK>В scipy-стеке есть еще ряд проектов (http://www.scipy.org/),
SBK>собственно на документацию самого scipy я указал. numpy - это лишь
SBK>ядро численных пакетов. Ну а "внешних модулей" - тоже на pypi...
SBK>Есть на CPAN сопоставимый аналог theano?
Поиск показывает, что наиболее популярным пакетом в этой
области является Math::Symbolic. О его сравнительных достоинствах
ничего сказать не могу, никогда не пользовался. Мне вообще не вполне
понятно, зачем кому-то может понадобиться программировать символьные
вычисления на скриптовом языке.
SBK>
SBK>> И да, я впечатлился, каких чудовищных плясок с бубном (судя по
SBK>> документации) требует NumPy там где в PDL вообще ничего делать не
SBK>> надо (потому что соответствующая функциональность прозрачна).
SBK>
SBK>Например?
Например преобразования типов, работа со срезами и
подмножествами массивов, вообще итераторы, управление памятью.
Функция ввода-вывода текстовых таблиц в NumPy очень смешная.
Ну и вообще, когда арифметические действия над массивами
(векторами, матрицами итд) записываются именно как арифметические
действия, а не как нагромождение функций и методов с лавиной
скобок - оно, знаете ли, изрядно повышает удобочитаемость и
эффективность.
SBK>Для сравнения:
SBK>https://www.ohloh.net/p/pdl
SBK>https://www.ohloh.net/p/numpy
Простите, что это?
SBK>> Ну так поймите, в перле - в отличии от - вызов внешней библиотеки,
SBK>> причем не в специально для этого написанном модуле со CPANа, а прямо
SBK>> из прикладной программы - редчайшая экзотика. Если вам это
SBK>> понадобилось - значит либо вы пишете что-то глубоко системное, либо
SBK>> у вас неправильная постановка задачи.
SBK>
SBK>Либо вы хотите использовать хорошие численные алгоритмы, за которыми
SBK>стоят годы разработки и тестирования. Жаль, но приходится признать -
SBK>я был прав в догадке, что будет "зачем нам фортран?". А это признак
SBK>того, что ваши потребности, мягко говоря, cпецифичны.
Если это _хорошие_ численные алгоритмы, то они давно уже
опубликованы, входят в состав популярных, широко используемых
пакетов и все биндинги к ним давно уже написаны, причем не по одному
разу.
А при работе с разного рода унаследованным
внутриучрежденческим хламом, к которому принадлежит 80% ныне
используемого фортрановского кода, потратить полчаса на описание
интерфейса - это как бы наименьшая из связанных с этим кодом
проблем.
Я так понимаю, вы решили тут прихвастнуть знакомством с
темами, которые знаете сильно понаслышке?
SBK>
SBK>> Поскольку, как я уже говорил, второе драли с первого.
SBK>
SBK>Покажите сперва машину времени в PDL, чтобы "драть".
Вы уже который раз повторяете фразу про "машину времени", но
я так и не понял, что Вы этим хотите сказать. PDL существует с 1996
года. К 2007 году (моменту первого релиза NumPy) PDL существовал уже
больше десятилетия и в своей основе практически не отличался от
современного.
Последние лет пять-семь ядро PDL для Perl5 действительно практически
не развивается - потому что его встраивают в Perl6 как часть языка и
основное развитие идет там. Но вы сперва то что есть освойте, ага.
Ну или переходите на Perl6. С точки зрения перловода там сейчас
исчезающе скудный выбор пакетов, но в сравнении с Питоном - более
чем.
Reply to: