fenikso: (Default)
2011-10-05 10:23 pm
Entry tags:

(no subject)

Читая про LISP-овую CLOS и то что в ней можно определять новые методы для классов вне определения самих классов (а иначе никак), внезапно пришла в голову мысль, что сначала в статически типизированных языках типа Java и C# эту возможность закопали - а потом в C# ее выкопали обратно, в виде extension methods. Кругами ходит народ, определенно.

Еще позабавили specifiers :before, :after и :around - чувствут, что с их помощью можно либо написать что-то полезно, либо взорвать мозг коллегам, которым это читать - либо и то и другое одновременно.

Но в целом пока я как-то не прочувствовал сложность/элегантность LISP - как-то исходники Boost и Real World Haskell мне казались (каждое в свое время) посложнее. Насчет элегантности, видимо, нужно почитать еще On Lisp, и сырцы боевых проектов.

Update: уточнение по поводу элегантности - язык в целом элегантен, одни lisp forms и REPL чего только стоят. Вопрос скорее к практическому применению в задачах.