История изменений
Исправление den73, (текущая версия) :
Родись и т.п. это всё-таки про new
Я выше отписал. В обероне, как и в плюсах, конструктор неизбежно и быстро вызывается, когда выделяется объект, имеющий конструктор. ЯВИ - это для любого объекта, живого или мёртвого, обращение к текущему треду или к рантайм среде. Родись - это обращение к самому живому объекту, чтобы он перешёл из мёртвого явленного состояния в живое. Непохоже на роды человека, но ведь всё компьютерное - это пародия на жизнь, или иная форма жизни. Пусть у него будет по-другому.
Насчёт женись и умри, на самом деле я не знаю, кто как, а я часто замечал, что в жизненном цикле объекта есть всякие этапы. Часто я в свои объекты ставил «возраста» и иногда их было до 6 штук. Беда, если объект будет взят во взрослую компанию, а сам ещё не повзрослел - нарушатся какие-нибудь тонкие распределённые между объектами инварианты, которые и ассертом не проверишь. После смерти же в языках со сборкой мусора объект остаётся трупом, который может валяться неограниченно долго.
Поэтому жизненный цикл из new и delete, имеющий в виду всего лишь одно существующее состояние - явно недостаточен. В ЯП со сборкой мусора, включая оберон, как минимум, нужно состояние трупа. А во многих случаях - и другие. Вот родись-женись-умри даёт сразу имя для одного промежуточного состояния.
Отличать состояние между выделением памяти и завершением конструктора надо ли? По идее может быть надо, но мы можем завести поле «возраст», и там будут некоторые значения. Я даже что-то такое делал, во:
https://gitlab.com/budden/jaos/-/blob/главная/source/PodrobnajaPechatq.Mod#L146
TYPE ВехиСудьбы = ENUM неБыл, родился, женился, умер END;
Исходная версия den73, :
Родись и т.п. это всё-таки про new Я выше отписал. В обероне, как и в плюсах, конструктор неизбежно и быстро вызывается, когда выделяется объект, имеющий конструктор. ЯВИ - это для любого объекта, живого или мёртвого, обращение к текущему треду или к рантайм среде. Родись - это обращение к самому живому объекту, чтобы он перешёл из мёртвого явленного состояния в живое. Непохоже на роды человека, но ведь всё компьютерное - это пародия на жизнь, или иная форма жизни. Пусть у него будет по-другому.
Насчёт женись и умри, на самом деле я не знаю, кто как, а я часто замечал, что в жизненном цикле объекта есть всякие этапы. Часто я в свои объекты ставил «возраста» и иногда их было до 6 штук. Беда, если объект будет взят во взрослую компанию, а сам ещё не повзрослел - нарушатся какие-нибудь тонкие распределённые между объектами инварианты, которые и ассертом не проверишь. После смерти же в языках со сборкой мусора объект остаётся трупом, который может валяться неограниченно долго.
Поэтому жизненный цикл из new и delete, имеющий в виду всего лишь одно существующее состояние - явно недостаточен. В ЯП со сборкой мусора, включая оберон, как минимум, нужно состояние трупа. А во многих случаях - и другие. Вот родись-женись-умри даёт сразу имя для одного промежуточного состояния.
Отличать состояние между выделением памяти и завершением конструктора надо ли? По идее может быть надо, но мы можем завести поле «возраст», и там будут некоторые значения. Я даже что-то такое делал, во:
https://gitlab.com/budden/jaos/-/blob/главная/source/PodrobnajaPechatq.Mod#L146
[code] TYPE ВехиСудьбы = ENUM неБыл, родился, женился, умер END; [/code]