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

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


Ну можно тогда увидеть ссылку (скажем в той же Википедии) на определение "поддержки иммутабельности в языке"? ) Ссылку на описание модели акторов я естественно без проблем предоставлю. )

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

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

Ну т.е. в том моём примере у меня значит всё же не мутабельная структура? ) Она же обходилась без копирования для создания новых версий... )

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

K>Как выяснилось из опытов с MLkit, управления даже с помощью менее ограниченной техники чем RAII — вывода регионов — для высокоуровневого кода недостаточно. О чем я уже писал.

Всё правильно, речь про RAII. Так вот мы же говорим о практике, а не о теории, не так ли? И соответственно если через RAII получается реализовать скажем 90% задач работы с памятью (а остальное реализуем скажем через подсчёт ссылок и т.п.), то уже получим суперэффективный код. Который будет заметно превосходить все замечательные универсальные сборщики мусора.

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


Возможно. Но такова цена настоящего быстродействия. Но опять же замечу главное — это ситуация для весьма редкого класса задач. А большую часть обычных задач C++ решает эффективнее всех и без написания какого-то специального кода (стандартные методы типа RAII на стеке).

K>Иммутабельные структуры решают реальную проблему, которая называется "удобство программиста". Работать с персистентной версией структуры данных удобнее, чем с эфемерной как раз за счет версионности.


Если сама задача требует версионности, то безусловно. Вопрос опять же в том насколько это часто встречающаяся на практике задача.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.