Автор Тема: Добавить методы в О7/13  (Прочитано 36787 раз)

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Добавить методы в О7/13
« Ответ #60 : Ноябрь 14, 2013, 10:24:20 pm »
BlackBox uses special objects with factory methods,
so-called factory objects. In BlackBox, factory objects are
used in a particular way: they are installed in global variables
and may be replaced at run-time, without affecting client code.
For historical reasons, we call factory objects which are used
for configuration purposes directory objects.

Я правильно понимаю, что втыкается как раз объект с методами. Т.е., даже не рекорд с процедурными полями?

P.S. Да, это из другой оперы.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Добавить методы в О7/13
« Ответ #61 : Ноябрь 14, 2013, 10:50:21 pm »
Основываясь на этом и буду ваять решение. Вроде бы кое-что придумалось.

Спасибо всем, кто высказался. Подытожу мою точку зрения в одном месте.

Да, я хочу инструмент, который потянет мегапроекты. Причем не какие-то уникальные в своем роде, а тупо большие с большим количеством итераций. Потому что маленькие проекты можно делать на любом говне (oberonjs тому наглядное подтверждение).

Я верю, что еще есть куда копать для достижения данной цели - Ада не конечная точка для такого инструмента.

При прочих равных я всегда предпочту иметь общее/стандартное/масштабируемое решение, чем частное. Т.е., вместо того, чтобы из раза в раз выписывать IF/ELSIF - я лучше добавлю интерфейсы/методы в инструмент.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Добавить методы в О7/13
« Ответ #62 : Ноябрь 14, 2013, 10:56:07 pm »
Я верю, что еще есть куда копать для достижения данной цели - Ада не конечная точка для такого инструмента.

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

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Добавить методы в О7/13
« Ответ #63 : Ноябрь 15, 2013, 05:39:05 am »
Я правильно понимаю, что втыкается как раз объект с методами. Т.е., даже не рекорд с процедурными полями?
Да

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Добавить методы в О7/13
« Ответ #65 : Ноябрь 16, 2013, 04:32:06 pm »
Вот кстати:
StyledTextDesc = RECORD (TextDesc)
   fonts: FontList;
   PROCEDURE (t: StyledText) SetFont (from, to: INTEGER; font: Font);
   …
END;
http://oberon2005.oberoncore.ru/paper/p_ext.pdf

Мне кажется что было бы полезно определять заголовки процедур прямо в описании рекорда(в обязательном порядке), чтобы сразу видеть какие методы объявлены/реализованы в данном модуле.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Добавить методы в О7/13
« Ответ #66 : Ноябрь 16, 2013, 04:39:18 pm »
Единственный минус - это ломает обратную совместимость.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Добавить методы в О7/13
« Ответ #67 : Ноябрь 16, 2013, 08:44:06 pm »
Насчет интерфейсов советую посмотреть: 2.7 Описания (definitions)

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Добавить методы в О7/13
« Ответ #68 : Ноябрь 17, 2013, 01:55:55 am »
Мне кажется что было бы полезно определять заголовки процедур прямо в описании рекорда(в обязательном порядке), чтобы сразу видеть какие методы объявлены/реализованы в данном модуле.

Да, мне тоже хочется видеть все в одном месте. И мне кажется никакой внешний инструмент не заменит такого объявления. Поэтому я и предложил интерфейсы в таком виде :) Но сейчас склоняюсь все-таки к проверенному ББ-варианту - для начала.

kkkk

  • Full Member
  • ***
  • Сообщений: 135
    • Просмотр профиля
Re: Добавить методы в О7/13
« Ответ #69 : Ноябрь 17, 2013, 04:23:34 pm »
Представить такой внешний инструмент проще, чем его реализовать, и это будет не легче, чем допилить основной компилятор, но во многом похоже по сути

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Добавить методы в О7/13
« Ответ #70 : Ноябрь 19, 2013, 03:47:54 pm »
vlad, не было мысли добавить адовские комментарии?

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Добавить методы в О7/13
« Ответ #71 : Ноябрь 19, 2013, 05:39:22 pm »
vlad, не было мысли добавить адовские комментарии?

В смысле однострочные "--" или что?

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Добавить методы в О7/13
« Ответ #72 : Ноябрь 19, 2013, 06:03:49 pm »
Угу.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Добавить методы в О7/13
« Ответ #73 : Ноябрь 19, 2013, 06:08:14 pm »
Угу.

Ну однострочных комментариев  не хватает, конечно, но пока можно и без них. И сделать совершенно понятно как.

Madzi

  • Jr. Member
  • **
  • Сообщений: 86
    • Просмотр профиля
Re: Добавить методы в О7/13
« Ответ #74 : Ноябрь 21, 2013, 05:02:53 pm »
> Да, мне тоже хочется видеть все в одном месте.
Посмотрите на объекты в Active Oberone
test = OBECT
    var1: INTEGER;
    var2: INTEGER;
    PROCEDURE method1(VAR param1: INTEGER);
    BEGIN
    END method1;
    ...
END test;