Re[134]: Есть ли вещи, которые вы прницпиально не понимаете.
От: Klapaucius  
Дата: 27.10.14 13:46
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Ну так в отличие от довольно мутного понятия "поддержка иммутабельности в языке" модель акторов имеет подробные описания... )


Не согласен. "поддержка иммутабельности в языке" понятие предельно ясное, а "модель акторов" — это скорее баззворд.

_>С чего бы это? Как раз мутабельной копирование не требуется.


Разумеется требуется. Создать версию мутабельной структуры без копирования не получится.

_>А что там этим примером? Ответ выдаёт неправильный или работает не быстро? )


Условиям задачи не соответствует. Код, работающий с вашей "иммутабельной" структурой, который неправильный ответ выдает — пишется тривиально, да и написан. Скорость не впечатляет, та же, что и у аналога на хаскеле.

_>Ну так если в дополнение к стеку будет разрешено делать ещё new/delete (только для больших данных) внутри классов (т.е. наружу не выходит и управляется через RAII и тот же стек), то уже будет достаточно для подавляющего числа задач.


У вас тут телега впереди лошади. "Подавляющим большинством задач" объявляются те, для которых достаточно "управления через RAII" — вот так вернее. Все остальные юзкейсы для программиста на низкоуровневом языке в "слепой зоне".
Как выяснилось из опытов с MLkit, управления даже с помощью менее ограниченной техники чем RAII — вывода регионов — для высокоуровневого кода недостаточно. О чем я уже писал.

_>В общем случае нет, в том смысле что мы не не можем написать что-то типа универсального сборщика мусора сразу для всех задач. Но мы без проблем можем это сделать в практически каждой конкретной задаче.


Реализация управления памятью для "практически каждой конкретной задачи" это совсем не то, что ожидается от высокоуровневого языка. Высокоуровневый язык — это абстрагирование от размещения и управление памятью, которое хорошо работает в общем случае.

_>Идея понятна. Но не понятен пример реальных разделяемых данных в каких-то редакторах. Я вот вспоминаю что Word, что Excel (про программистские редакторы вообще молчу), что графические, везде максимум ссылки между документами встречаются и никакого разделения.


10 правок дают 11 версий документов, разделяющих 90% данных. Речь, впрочем, была не про пользовательские документы, а про структуры данных, с которыми программист работает.

_>Может быть такие вот иммутабельные структуры решают очередную виртуальную академическую проблему? )


Иммутабельные структуры решают реальную проблему, которая называется "удобство программиста". Работать с персистентной версией структуры данных удобнее, чем с эфемерной как раз за счет версионности.
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.