[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: