Re: Perl or Python?
On Sat, 21.03.2009 19:59:41 , Alexey Pechnikov wrote:
> Hello!
>
> On Saturday 21 March 2009 17:58:07 Тихон Тарнавский wrote:
> > > > Вообще-то, можно одной строкой:
> > > > (apply #'map 'list matrix),
> > > > где matrix - список списков
> > >
> > > О! Верх изящества. Вспоминается пример, как дядечка в середине 70-х
> > > разбирал несколько ЧАСОВ(!) 4(!!!) строки на языке APL.
> > > 35 лет прошло, и никто ничему так и не научился :-/
> >
> > Это неудачная шутка?.. Какая связь между 4 строками, которые пришлось
> > разбирать несколько часов, и вызовом трёх функций, понятным с первого
> > взгляда?
>
> Абсолютно непонятно.
Для человека, написавшего хотя бы несколько десятков строк на лиспе,
этот код действительно понятен с первого взгляда.
> Вероятно, вы делаете какие-то неявные преобразования
> типов, что есть явная императивщина.
Преобразование типов для транспонирования матрицы? Это таки что-то
новенького, как говорят в Одессе.
> Математик не будет записывать
Можете мне не рассказывать. Я по образованию математик.
> интеграл/дифференциал и другие операции кучей символов хотя бы потому, что
> прочитать будет невозможно. Это только кодеры способны написать нечто, что
> сами через месяц не прочитают. Формулы это очень компактный способ записи, а
> не набо закорючек, как вам кажется. Попробуйте написать какое-нибудь тензорное
> преобразование (к примеру, из Ландау-Лифшица) и сами поймете.
>
> На тикле я бы написал так
> set matrix2 [T matrix]
> и это будет понятно любому, кто знаком с матричной алгеброй. А функцию T я
> определю в библиотеке подпрограмм.
А это здесь вообще при чём? На лиспе я напишу
(setq matrix-2 (transpose matrix-1))
А функцию transpose тоже определю где-то отдельно. Какое всё это имеет
отношение к приведенной выше строке?
--
С уважением,
Тихон Тарнавский.
http://linuxforum.ru
http://posix.ru
Reply to: