вторник, 10 марта 2009 г.

SICP

Наконец-то досмотрел SICP ("Структура и интерпретация компьютерных программ", Абелсьсон, Сассман, тут). Смотрел с КПК начиная июля 2008 г. :) Хоть там всего 20 лекций, порядка 20 Гб, и опять же 20 часов... Со всякими перерывами на просмотр GoogleTech, чтение на Соньке, но вчера-таки досмотрел. 
Понравилось: 
  • построение "лени" на основе потоков. Хотя "чистая" haskell-ьная лень приятнее, так как она есть очевидная теоретическая левая (ленивая) редукционная стратегия. Но зато тут в два действия при помощи \lambda-ы легко ее моделируем. ООП-шные проксяки курят.
  • в универе вам конечно же рассказывали про проблему остановки (halting problem). Но в большинстве случаев (как мне кажется) рассказывают только, что это неразрешимая проблема (то есть не может существовать алгоритма, который ...). По крайне мере мне только это и рассказали. Возможно, у меня дома есть пара книжек, где это рассматривается подробно, но почему-то доказательство я увидел только в этих лекциях. Это докательство (в 3 предложения) почему-то в универе не показывают.
  • Не скушно рассказывают. Для объяснения side-эффектов, могут взять перочинный ножик, и соскребсти часть ногтя, показывая что "я примерно такой же, но все таки в другом состоянии". Могут запустить в аудиторию мелом, что бы показать непрерывность/дискретность (баян про аххилеса и черепаху, но на практике :) ). И другие, оживляющие лекции, действия.
Единственное, что не понравилось - в 2..3 лекциях разбирались с устройством/моделированием регистровых машин. Имхо, не понял зачем. 
Как реализация, Scheme по мне лучше Lisp (тут как две одинаковые модели отечественного автопрома - отличаются только расположением бордочка в салоне). Для меня чаще всего является преимущество в использовании readline(автодополнение по tab) библиотеки под *nix. Из-за этого я считаю что postresql лучше mysql :) (возможность расширения собственными типами, функциями не в счет). Тут возникает противоречение, ибо common-lisp скомпилен с readline, для собственных сексуальных извращений я предпочитаю cl.
Короче, если вы не боитесь лишних скобочек, то рекомендую. 

Комментариев нет: