Иван Денисов писал(а):
Хорошо, что есть движение и есть пользователи. Однако, моё мнение, что Вирт сделал большой шаг к Оберону-07. И это как раз большое развитие.
Вирт шагает не вперед или назад, он всегда шагает в сторону. На каждый чих свой ЯП, просто такой подход, но возводить его в абсолют не стоит. Просто чихов много, и все не осилить, загнуться можно. Что с Оберонами и случилось. потому что, когда мы шагаем в сторону, это значит, что мы уступаем дорогу.
Иван Денисов писал(а):
А то, что кто-то добавил какие-то фичи из языка 30-летней давности в свою систему, когда в новых системах от этих фич уже отказываются, или когда добавляются фичи в систему по первому требованию редких пользователей — это не развитие...
О чём это ты Иван? нужно разобраться в контексте обсуждения. Изначально Активный Оберон это расширение классического Оберона с фичами из ОбжектОберон, и выглядел он как-то так:
Код:
TYPE
ObjectDesc = RECORD
VAR
local, local2: LocalData;
PROCEDURE P;
BEGIN local := local2 (*copy the fields*)
END P;
PROCEDURE Q(local: LocalData);
BEGIN SELF.local := local (*assign the parameter to the field local*)
BEGIN
(*object activity*)
END ObjectDesc;
То есть, у записей были методы, они описывались внутри записи, ислова OBJECT там не было.
Потом OBJECT добавили, но внутри это были те же самые записи, только в куче. Причина введения такого специализированного типа очевидна - активный объект может быть только
в куче, потому что если мы разместим его на стеке, то может случиться бум, потому что стек может схлопнуться в любое время, уничтожая объект/запись, а вот связанная с объектом активность никуда не денется, в общем это крах системы.
Так что здесь все логично.
Почему убрали методы из записей, я не знаю. Повторяю, объекты это теже записи только в профиль.
так что Феликс только вернул методы на место и для этого понадобилось лишь несколько строк в компиляторе.
Ну за компанию он добавил и синтаксис О2. Видимо, чтобы упростить портирование, а может хотели в стиле Go сделать псевдометоды для неструктурных типов.
Вернул Феликс методы в записи не по требованию, они ему и ко, тоже нужны были.
Просто интересы совпали.
Ну а то, что Вирт удаляет всё и вся это не развитие, я уже гоыорил - это шаг в сторону, и чуток назад. Для учебных целей это, возможно, неплохо, упрощение, но там уже идет примитивизация, Вирт нарушил смысл эпиграфа, сделав просто примитивный яп, которым пользоваться совершенно не удобно.