powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [gt.m] подскажите, что такое рутина
25 сообщений из 26, страница 1 из 2
[gt.m] подскажите, что такое рутина
    #38991994
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То ли я не могу понять, то ли автор плохо объясняет....

Читаю Каратаев Е MUMPS СУБД Практика применения и опыт программирования.
2013 год .

Итак читаем: (стр. 125 1 абзац)

Рутинами (routine) в языке MUMPS называется исходный текст программ, организованный как совокупность строк.

Это понятно, но из прочитанного далее где начинается и где заканчивается рутина?


Далее: (стр. 127 2 абзац)

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

КАК ЭТО? А как тогда определить на какую метку прыгать?

Не понятно что такое рутина, просто файл с расширением .m но по книге можно сказать что нет, кусок кода или что то ещё?

Потом не понятно с блоками - строками начинающимися на точку. Когда интерпретатор выполняет do без аргументов - с двумя пробелами, то после он начинает выполнять строки и количеством точек на единицу больше чем было в строке с do. Потом когда эти строки закончились то опят передаётся управление на строку с do без аргументов и уже начинают пропускаться строки с числом точек больше чем там где была do. Не понятно как в этом случае увязывается цикл, по логике вещей он не должен выполняться. Прогнали строки один раз вышли на do и всё пропустили эти строки и пошли выполнять то что за ними. То есть не зависимо от условия цикла его тело будет выполнено один раз и всё.

Ещё не понятно как это рутина может храниться в глобале - просто текст программы записанный в глобале? Интересно тогда, может ли в глобале храниться байткод или пикод?
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38991999
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, все верно рутина, это файл целиком, в Caché это файлы с расширением *.int и *.mac, в других системах *.m
В Caché файлы рутин по сути виртуальные, потому как весь текст хранится в глобале, собственно и откомпилированный код *.obj файлы, хранятся так же в БД только в другом глобале.
Хранить в БД можно все что угодно, если оно конечно влезет.

меток в рутине может быть много, а что значит как определить на какую прыгнуть.
do label^myRoutine()
тут мы прыгаем на метку label в рутине myRoutine, здесь метка может быть любая которая есть в этой рутине.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992003
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уровень точек это как новый уровень стека, т.е. это как будто вызвали подпрограмму, с циклом будет выполнятся столько раз сколько этого требует цикл, потому как при прохождении итерации, снова возрощается и проверяет условия цикла
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992046
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То что меток может быть много это понятно. Не понятно как метки могут имет одинаковые имена. Одна метка label и другая метка label и ещё одна label не понятно тогда на какую будет сделан переход.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992049
Фотография П.С.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталийv4567Не понятно как метки могут имет одинаковые имена. Одна метка label и другая метка label и ещё одна label
В одном файле? Где Вы такое видели?
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992051
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с блоками вроде как разобрался.

получается что если выпрыгнуть из подпрограммы по quit с предусловием, то после того как закончится рутина или код в который выпрыгнули, мы опять вернёмся в подпрограмму в то место из которого выпрыгнули?
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992052
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П.С.М.Виталийv4567Не понятно как метки могут имет одинаковые имена. Одна метка label и другая метка label и ещё одна label
В одном файле? Где Вы такое видели?Вот здесь!

Каратаев Е MUMPS СУБД Практика применения и опыт программирования.
2013 год .

(стр. 127 2 абзац)

Первоначально в спецификации языка допускалось существование двух или более меток с одинаковыми именами в одной рутине, и т.д.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992062
eduard93
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталийv4567, Сейчас при попытке компиляции рутины с двумя одинаковыми метками выдается ошибка <LABELREDEF>.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992076
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да в книге написано, что сейчас так делать нельзя и при компиляции с двумя одинаковыми метками выдаётся ошибка, а вот раньше было можно, но тогда не понятно как такой код мог работать.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992112
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все вызовы и переходы на метку попадали на её первое вхождение по тексту программы.

А вообще рутина - безобразный термин, калька с английского, который к сожалению попал в хорошую книгу. Всю жизнь это переводили как программа.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992134
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovА вообще рутина - безобразный термин, калька с английского, который к сожалению попал в хорошую книгу. Всю жизнь это переводили как программа. А я и говорил, что надо отдельно писать учебник. В терминологии еще с индексами и сабскриптами не все модняво получается. А программа - это нечто цельное, с одной точкой входа. Рутины же они как-бы примерно как хранимые процедуры в sql, ну или пакет процедур. Это же не обязательно программа.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992234
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда, наоборот, рутина - это суперпрограмма))
http://www.routine2.com/testversion.htm
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992361
EvLaUy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яА я и говорил, Ни в коем случае не в обиду искренне уважаемому мной автору, но в нашей конторе (а это компания с мировым брендом, продукты которой есть у каждого человека) эта фраза входит в перечень запрещенных. Наравне с "это было еще до меня", "я ему сказал, а он не сделал" и им подобными.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992367
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvLaUyно в нашей конторе (а это компания с мировым брендом, продукты которой есть у каждого человека)Думаю, что в "ОАО ГАЗПРОМ" могут позволить себе еще больше всяких условностей...
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992373
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvLaUyну яА я и говорил, Ни в коем случае не в обиду искренне уважаемому мной автору, но в нашей конторе (а это компания с мировым брендом, продукты которой есть у каждого человека) эта фраза входит в перечень запрещенных. Наравне с "это было еще до меня", "я ему сказал, а он не сделал" и им подобными.Конторы, запреты и начальство приходят и уходят, а мы все равно будем обсуждать как правильно - рутина и сабрутина или программа и подпрограмма.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992381
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, с этим вроде как немного разобрался.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992457
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvLaUyну яА я и говорил, эта фраза входит в перечень запрещенных.Меня удивляет в этом то, что топы до того теряют контакт с реальностью, что своим запретом фраз надеются запретить явления. Давайте запретим слова "коррупция", "взятка", "убийство" - может у нас все с преступностью станет сразу лучше?

Что за компания то, продукция которой есть в каждой семье? Именно этой компании, а не аналогичных.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992476
EvLaUy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Меня удивляет в этом то, что топы до того теряют контакт с реальностью, что своим запретом фраз надеются запретить явления. Давайте запретим слова "коррупция", "взятка", "убийство" - может у нас все с преступностью станет сразу лучше?Опровергать путем доведения до абсурда? Речь идет всего лишь об определенном уровне культуры делопроизводства и исполнительской дисциплины. Преступность - не моя тема.

Блок А.Н.Что за компания то, продукция которой есть в каждой семье? Именно этой компании, а не аналогичных. Это не имеет отношения к данной теме, не хотелось бы скатываться в оффтоп. Если моя фраза Вас как-то сильно задела, я согласен ее смягчить. Будем считать, что я сказал: "ПОЧТИ у каждого человека". Так лучше?

А по теме - известный канадский специалист молдавского происхождения в области M-технологий (переведший на русский язык книгу Джона Левковича) Игорь Топалов так же, как и Алексей Маслов, является противником применения термина "рутина", так же считая его неблагозвучным для русского языка.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992684
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
голосую за 'программный модуль'
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38992929
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Голосовать можно за всё что угодно. Согласен, термин программа не идеален, можно предложить более точные по смыслу варианты, но он - сложившаяся реальность: см. все книги В. Кирстена, документацию на MSM (переводившуюся на русский с 1993 года), Портал Cache', всевозможные учебно-методические материалы InterSystems, к переводу которых я не имел никакого отношения ))).
Да и на нашем форуме поищите оба слова, "программа" и "pутина", и почувствуйте разницу.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38993121
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Давайте за то, чтобы наши программы не были рутиной! :)
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38993175
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gluconat_caголосую за 'программный модуль'А вот контраргумент: в рутине нет автоматической инициализации и собственных переменных и внутренних функций, как это есть у модулей. Назовите рутину программой или модулем - и кого-то обманете. Ну не модуль это и не программа. В рутине даже подпрограмм толком нет, потому что можно выполнить goto из одной строки одной рутины в другую строку и в другой рутине и потом обратно. Вот в ассемблерных вставках на Борланд С можно выполнить jump из одной функции С в другую в том же модуле, а на Майкрософт С нельзя. Вот в MUMPS как с первым вариантом - да, можно. И между разными рутинами можно. Это просто набор строк; а то, что оно выполняется последовательно и хранится вместе - это и делает этот набор строк рутиной. Ближайшее к рутине понятие - это пакет функций. Да и функций, строго говоря, толком нет, потому что метка становится функцией лишь тогда, когда ее вызывают как функцию. Так что как дали изначально название routine и subroutine так оно и не вносит путаницу, как в переводах сделанных в СП.АРМ. Читаешь написанное - написано, что программа. Смотришь что на самом деле - а там рутина. Нужно понимать не только что означает написанное но и что означает перевод. А с переводом Кирстена про объекты - так хорошо еще, что про объекты разобрался перед тем как читал перевод, так бы не сразу понял что слово Embedded было переведено несколькими разными способами и на самом деле они были про одно и то же, а не про разное, и надо угадать что в этом месте мог переводить именно этот переводчик-гуманитарий, а их там судя по стилю перевода было несколько.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38993218
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну яgluconat_caголосую за 'программный модуль'А вот контраргумент: в рутине нет автоматической инициализации и собственных переменных и внутренних функций, как это есть у модулей. Назовите рутину программой или модулем - и кого-то обманете. Ну не модуль это и не программа. В рутине даже подпрограмм толком нет, потому что можно выполнить goto из одной строки одной рутины в другую строку и в другой рутине и потом обратно. Вот в ассемблерных вставках на Борланд С можно выполнить jump из одной функции С в другую в том же модуле, а на Майкрософт С нельзя. Вот в MUMPS как с первым вариантом - да, можно. И между разными рутинами можно. Это просто набор строк; а то, что оно выполняется последовательно и хранится вместе - это и делает этот набор строк рутиной. Ближайшее к рутине понятие - это пакет функций. Да и функций, строго говоря, толком нет, потому что метка становится функцией лишь тогда, когда ее вызывают как функцию. Так что как дали изначально название routine и subroutine так оно и не вносит путаницу, как в переводах сделанных в СП.АРМ. Читаешь написанное - написано, что программа. Смотришь что на самом деле - а там рутина. Нужно понимать не только что означает написанное но и что означает перевод. А с переводом Кирстена про объекты - так хорошо еще, что про объекты разобрался перед тем как читал перевод, так бы не сразу понял что слово Embedded было переведено несколькими разными способами и на самом деле они были про одно и то же, а не про разное, и надо угадать что в этом месте мог переводить именно этот переводчик-гуманитарий, а их там судя по стилю перевода было несколько.Это несущественные детали реализации языка. Само слово рутина ничего не решает и ничему не помогает. Это специфический термин русскоязычного MUMPS сообщества. Я считаю что он только сбивает с толку приходящих и данный пост тому подтверждение. Понятие Модуль вполне подходяще. И почему это модуль всегда должен специально инициализироваться? В Си модуль просто обозвали файлом и не стали заморачиваться. Я все таки за вменяемые названия. А применение слова в какой то книге или переводе не является стандартом. Все таки терминологию надо вырабатывать и желательно понятную любому ИТ специалисту, а не только MUMPS сообществу.
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38993287
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну я,
всё верно говорите, и спорить по большому счёту не с чем. Тут больше дело привычки, чем следование предельной строгости и точности.
Я лично как начал употреблять слово программа так и остаюсь с ним, а для 'global' употребляю 'глобал', а не 'глобаль', которая до сих пор почему-то режет слух :)
Что касается 'модулей', вот в gt.m нельзя скакнуть в другую м-программу на +n^routine, есть приватные метки 'невидимые' из других программ, так что уже есть некое 'модулеобразие'. Может быть назвали бы изначально рутину модулем, так и пришлось бы со временем соответствовать :)
...
Рейтинг: 0 / 0
[gt.m] подскажите, что такое рутина
    #38993336
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_sharСамо слово рутина ничего не решает и ничему не помогает. Это специфический термин русскоязычного MUMPS сообщества.Routine - этот термин используется и gt.m и Cache. Нет тут ничего специфичного именно в русскоязычном сообществе. Переводится данное слово на русский и как рутина и как программа, не вижу никакого смысла называть рутину модулем или еще чем то.

misha_sharВсе таки терминологию надо вырабатывать и желательно понятную любому ИТ специалисту, а не только MUMPS сообществу.Я думаю в других языках тоже найдется немало примеров, когда термин понятен только тем кто работает с этим языком. Взять к примеру .Net с их Assembly
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [gt.m] подскажите, что такое рутина
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]