А по моему он абсолютно прав. Он же приводит свой наивный пример, в котором безопасная функция IsEmpty и другая безопасная функция Peek вместе не работают, он же не утверждает, что не работает любая комбинация безопасных функций. И вообще он уже много раз говорил о immutable структурах и в этой заметке тоже о них, показывая, что обеспечить много-потоковую безопасность внутренних структур класса, отвечающего на вопросы о своем состоянии в момент, когда вопрос был задан, недостаточно ибо не решает проблему, а откладывает ее, заставляя тем самым своего клиента опять решать ту же проблему но уже на своем уровне. И единственно возможное решение - это получать "фотографии" состояния системы и отвечать на вопросы относительно одной из этих фотографий а не живой системы. Удивительно, но такой подход применим к очень широкому кругу задач.
(no subject)
Date: 2009-12-03 06:24 am (UTC)