За что МЫ не любим GPSS.

Для тех, кто его знает.

Всё нижеследующее относится к GPSS World, но большая часть текста справедлива и для других систем GPSS.

Причины нелюбви языка GPSS программистами – я перечисляю ниже, вероятно, это далеко не всё.

Не программисты – не любят GPSS по тем же причинам, по каким они не любят программирование.

1)    В GPSS не видно, где блоки, а где команды. Они могут перемежаться в модели друг с другом, а запомнить где кто  - не просто.

2)    СЧА в GPSS имеют странный вид: одна или две буквы,  а затем – уточнение, номер или имя объекта. Причём номер ничем не отделён от буквенного обозначения, а имя – идёт после значка $.

3)    Иногда числовая часть вообще не имеет смысла, например,  Xn1, C1, Ac1, M1.

4)    Многие простые имена заняты под СЧА, например, N, W, X, P.

5)    Неоправданные чудеса, например, в качестве индексов матрицы можно использовать только P – параметры.

6)    Чудеса продолжаются, одну и ту же функцию или таблицу с различными  аргументами нужно описывать многократно.

7)    После вынужденной остановки по Halt, пункт Report недоступен, и  его следует вызывать как пользовательскую команду в окне Custom.

8)    Создаются бесконечные окна компилятора и отчётов при многократном запуске модели. Их нужно всё время  закрывать и, сгоряча можно закрыть саму модель, так и не сохранив последнюю версию.

9)    Модель не является текстом, в каком – либо стандартном формате. Почему это так,  не понятно.

10)    Язык не содержит средств, для структуризации модели, то есть явного разделения её на подмодели, которые можно хранить в одном файле, или в отдельных файлах, и использовать многократно, в частности, без дополнительной компиляции. Более того, в соответствии  с пунктом  1, возможность  этого вообще не предусмотрена.

11)     Многие имена в системе вообще не описываются, например, очередей, устройств, списков пользователя, групп… Это провоцирует ошибки типа использования в модели сходных, но различных имён. Поэтому нужно всегда проверять стандартный отчёт на предмет появления «лишних» имён.

12)      В модели нельзя просто и естественно использовать несколько массивов объектов, например, очередей, устройств, X и P параметров, и так далее, а, «по жизни», такая необходимость есть.

13)      Очень не просто работать с переменными и текстовыми  файлами для внешней настройки модели, что провоцирует использование констант прямо в модели, и бесконечные повторы фрагментов текста, различающихся только числовыми константами.

14) Странные обозначения для косвенного обращения к СЧА.  СЧА*<имя или номер P - параметра>.  Косвенные обращения вообще возможны только с помощью P – параметров.

15) Странный символ для знака умножения - #.

          Продолжите  список сами. Жду ваших писем.

На главную



Hosted by uCoz