Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет kouzdra ([info]kouzdra)
@ 2007-07-12 16:02:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:Компутерщина

О предрассудках:
Из старого треда:

Список, насколько моя знать, это объект, удовлетворяющий следующему индуктивному определению:

1) Пустой список есть список.
2) Если L - список, а t - объект, могущий быть элементом списка рассматриваемого вида, то результат "приписывания" t к L - тоже список.

Суть этого определения в том, что любой "реальный" список можно эффективно "раздеть" до пустого


Утверждение про "раздеть" кажется интуитивно абсолютно очевидным. Я тоже на несколько секунд купился. Тем более, что определение списка дано верно. Тем не менее утверждение про "раздевание" абсолютно неверно - в реальности там совершенно жуткий зверинец, более всего напоминающий по структуре что-то фрактальное или из области бесконечных счетных ординалов (возможно просто им и соотвествущее 1 в 1).

При том, что речь идет о реальных списках в реальных языках программирования.

PS: Еще очень забавная вещь происходит, если на отношение равенства списков посмотреть с точки зрения принципа тождества неразличимых (в компьютерном варианте) - там очень странные вещи начинают происходить - например из того, что B /= C, не следует,
что A++B /= A++C (++ - конкатенация) - во многих примерах они реально будут различны, но способов обнаружить этот факт не будет.

Забавная на самом деле вещь - "интуитивная очевидность конструктивной математики" :)



(Читать комментарии) - (Добавить комментарий)


[info]ppkk
2007-07-16 14:54 (ссылка)
А что за работа-то? Я от [info]kouzdra не добился, зачем на работе могут быть нужны функциональные языки.

Рейтинг я многократно видел. У FreePascal-я небольшой минус из-за неразберихи: в состав дистрибутива включен убогий (неполноценный, возможно даже глючный) модуль регулярных выражений, а договорённостью, например, с автором какого-нибудь TRegExpr, чтобы включить в дистрибутив его движок, почему-то не очень занимаются (я им несколько раз это предлагал: вначале думал сам написать движок, но не вижу смысла при наличии столь проработанного тратить на это время). Так что у FP (FreePascal) есть неиспользованный потенциал (программа должна использовать движок из дистрибутива, а не самостоятельно всё реализовывать).

Smalltalk когда-то видел, но не особо изучал, зачем он нужен на практике тоже интересно было бы узнать.

Ещё о языках: Scala разве не более ли менее ли функциональный?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kouzdra
2007-07-16 15:01 (ссылка)
Scala - более или менее. Это именно попытка скрестить FP с .NET и JVM. Относительно удачная, вроде, хотя объектность там сильно прет.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ppkk
2007-07-16 15:12 (ссылка)
Да, и в упомянутом рейтинге на ней-таки всё работает (кто-то озаботился написать, разработчики не поленились включить библиотеки в дистрибутив).

(Ответить) (Уровень выше)


(Читать комментарии) -