MUMPS

MUMPS

MUMPS (англ. Massachusetts General Hospital Utility Multi-Programming System — Массачусетская основная мульти-программная система для госпиталей; иногда M, или М-система) — язык программирования, созданный в 1966—1967 годах для использования в лечебной индустрии.

Из MUMPS в 1970-х годах вышла свободная медицинская система VA VistA, де-факто стандарт медицинской информационной системы[источник не указан 334 дня].

Содержание

История

Обозначение MUMPS, как язык программирования условно, так как он зародился во времена кристаллизации языков программирования, и его системная компетенция органично распространяется от нюансов работы с медицинским оборудованием до операций СУБД и экспертных систем (например, VA VistA).

MUMPS зародился в специфичной медицинской среде кардиологов (Octo Barnett). Изначально разработан с целью облегчить написание приложений баз данных, одновременно с максимальным использованием компьютерных ресурсов. Часто использовался в лечебных учреждениях и для финансовых информационных систем и баз данных (особенно для разработанных в 1970-х и начале 1980-х годов) и продолжает использоваться у ряда клиентов. Сейчас MUMPS является базовым языком в системах DSM, MSM, M3-LITE, GT.M, Caché.

MUMPS создан после Лиспа, (Лямбда-исчисление и списки), BASIC (легкий, интерактивный, компактный язык), ПЛ/1 (структурированный язык больших машин — см. конфликт с mainframe вычислительными центрами VistA разработчиков до языков структурного программирования C, Pascal, имеет свой синтаксис и терминологию.

Глобальные массивы в MUMPS системах используются для построения и управления базами данных. Структура глобальных массивов — уникальная особенность языка MUMPS. Эти массивы автоматически записываются на диск, без необходимости резервирования и адресации пространства для записи, относятся к иерархическим и разрежённым структурам по самой своей природе. В массивах может содержаться произвольное количество уровней иерархии, причём данные могут содержаться на любом из уровней массива. Индексом массива может быть любое корректное MUMPS выражение, результатом оценки которого может быть число, или строка символов.[1]

Свободная версия MUMPS GT.M оптимизирована для транзакций, может быть платформой разработки, имеет компилятор соответствующий стандарту ANSI/ISO. Используется в различных отраслях, более всего в финансах и здравоохранении.

Основные идеи MUMPS

  • MUMPS охватывает многие области более присущие обычно операционным системам общего назначения, которые обеспечивают функционирование и разработку прикладных программ. Кроме просто интерпретатора языка, ему присущи функции управления базами данных, и кроме того обеспечение хорошего интерфейса с устройствами ввода/вывода. В дополнение к этому, большинство из версий MUMPS допускают работу в многопользовательских и многозадачных режимах с использованием принципов разделения времени между заданиями.
  • MUMPS является интерпретирующим языком. MUMPS-команды могут запускаться на исполнение прямо с клавиатуры или записываться в виде программ на диск. MUMPS интерпретирует типы данных в контексте совершаемых над ними операций. В непосредственном режиме Вы легко можете проверить любую из языковых конструкций, с помощью отладчика провести отладку программ и их процедур, просмотреть и изменить в любой момент содержание локальных и глобальных переменных.
  • Интерпретация данных как программы (косвенность, фактически лямбда-исчисление). Два пути использования косвенности: оператор XECUTE, в котором поле данных, используемое как аргумент оператора, исполняется как набор MUMPS инструкций; использование оператора косвенности @, который позволяет заменить полями данных аргументы операторов.
  • Глобаль — массив автоматически адресуемый для записи на диск. основная форма записи данных MUMPS. Глобали являются разрежёнными массивами и занимаемое ими пространство на диске определяется только размером данных, записываемых при индексах. Глобали могут быть распределены одновременно между многими пользователями. Глобальные переменные доступны всем процессам работающим в одной директории. индексация — организация взаимного расположения записей внутри массива называется индексацией и достигается в MUMPS с помощью индексов глобальных массивов. Индексами в этих массивах могут быть не только числа, но и любые символьные строки имеющие значение (семантику), которая затем используется в программах. например это может быть программный код обработки узла.
  • Многоосевое кодирование часто используется в медицинских информационных системах, для кодирования диагнозов и лечебных процедур которые могут иметь множественные ссылки в своем коде. Диагноз может иметь в себе элемент указывающий на поражение определенного органа тела или конкретной части органа, (например, левая вентрикулярная стенка сердца), другое поле указывает на функциональные изменения в этом месте (воспаление), третье поле указывает на причину, вызвавшую заболевание (травма). Каждое из полей является элементом иерархической структуры, комбинация трех полей создает единый код заболевания, несущий в себе три ссылки.
  • В большинстве MUMPS реализаций глобальные структуры основываются на концепции так называемых сбалансированных деревьев (именуемых также и В-деревьями). В-деревья представляют собой мощный инструмент для организации разряженных структур с использованием ключей (индексов). При этом обеспечивается эффективный механизм записи и чтения данных с минимальным количеством обращений к диску.
  • MUMPS является строчно-ориентированным языком, каждая строка может содержать много операторов (количество ограничено только пределом длины строки — обычно 255 символов). Отдельные операторы и функции языка могут быть сгруппированы вместе в одной физической строке программы:
  • ^ [System,Directory]Name(Subscripts) — синтаксис глобальной ссылки, на программу или данные. Идентификатор System обозначает, что ссылка относится к области расположенной в той же системе (на том же узле сети), что и текущий процесс. Идентификатор области (Directory), указывает, что обращение производится к области назначенной текущему процессу при его запуске;
  • % — начало имени библиотечного массива;
  • : — пост-условие оператора;
  • $ — начало имены системных переменных;
  • [ — операция «строка содержит»;
  • ] — операция «строка следует»;
  • $Z — функции фирм-разработчиков MUMPS и не являющиеся стандартными.

Hello, world! на MUMPS

Программа Hello, world!, написанная на MUMPS, будет выглядеть так:

hello()
write "Hello, World!",!
quit

Она может быть запущена из командной строки MUMPS командой:

do ^hello()

С того момента как MUMPS стал поддерживать последовательные команды в одной строке, а команды стало возможно записывать однобуквенным сокращением, эту программу можно записать более компактно:

hello() w "Hello, World!",! q

Критика

Даже в публикациях сторонников MUMPS утверждается, что эта технология является непопулярной и нераспространённой, и новые приложения баз данных чаще всего создаются с использованием SQL и популярных языков программирования[2].

Критики MUMPS прямо называют эту технологию устаревшей[3] и указывают на такие недостатки MUMPS как:

  • отсутствие типизации (все данные хранятся как строки);
  • низкий уровень абстракции;
  • нечитабельность синтаксиса, особенно при использовании сокращений.

Язык MUMPS критики называют провоцирующим ошибки, поскольку:

  • отсутствует обязательное объявление (декларирование) переменных;
  • не поддерживаются привычные приоритеты арифметических операций (например, выражение 2+3×10 даёт в MUMPS значение 50);
  • лишний пробел или разрыв строки может совершенно изменить смысл синтаксической конструкции;
  • ключевые слова языка не зарезервированы и могут широко использоваться в качестве идентификаторов.

Примечания

  1. Джон Левкович. Все о языке программирования и системе MUMPS, гл. 10.
  2. Brand-new database-driven applications are likely to be written in SQL and C, PHP or another popular language. MUMPS’s lack of popularity and its differences from the modern languages in widespread use are perhaps its biggest drawbacks // Mumps at BookRags
  3. Mumps: a fatal disease or a programming language?

См. также

  • Диамс — советский диалект языка
  • HL7 — стандарт медицинской информации
  • UMLS — язык описания ресурсов медицинской информации
  • VA VistA

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "MUMPS" в других словарях:

  • MUMPS — (Massachusetts General Hospital Utility Multi Programming System) ist eine ursprünglich auf DEC PDP und VAX Computern entwickelte Programmiersprache (genauer eine Interpretersprache, die selbst Multitasking ermöglicht) mit integrierter Datenbank …   Deutsch Wikipedia

  • MUMPS — Apparu en 1966 Auteur Neil Pappalardo Paradigme procédural Typage …   Wikipédia en Français

  • mumps — /mumps/, n. (used with a sing. v.) Pathol. an infectious disease characterized by inflammatory swelling of the parotid and usually other salivary glands, and sometimes by inflammation of the testes or ovaries, caused by a paramyxovirus. [1590… …   Universalium

  • mumps — mȕmps (mȕms) m DEFINICIJA pat. zarazna bolest priušnih žlijezda koje oteknu na jednoj ili na obje strane lica; parotitis, zaušnjaci ETIMOLOGIJA njem. Mumps ← engl. mumps …   Hrvatski jezični portal

  • mumps — the illness, is usually treated as a singular noun (Mumps is common in young children), and is sometimes used informally or locally with the • (This morning I had a chat with one of the girls who has been off sick with the mumps Evening Gazette,… …   Modern English usage

  • Mumps — Mumps, n. [Prov. E. mump to be sulky. Cf. {Mump}, {Mumble}, and {Mum}.] 1. pl. Sullenness; silent displeasure; the sulks. Skinner. [1913 Webster] 2. [Prob. so called from the patient s appearance.] (Med.) A specific infectious febrile disorder… …   The Collaborative International Dictionary of English

  • mumps — [mʌmps] n [U] also the mumps [Date: 1500 1600; Origin: mump expression made by twisting the mouth (16 17 centuries)] an infectious illness which makes your neck swell and become painful …   Dictionary of contemporary English

  • Mumps — der, landsch. auch die; <aus gleichbed. engl. mumps> Ziegenpeter; durch ein Virus hervorgerufene Entzündung der Ohrspeicheldrüse mit schmerzhaften Schwellungen (Med.) …   Das große Fremdwörterbuch

  • Mumps — Smf (auch Mumpf südd. m.) Parotitis per. Wortschatz reg. (19. Jh.) Entlehnung. Als Krankheitsbezeichnung ist das Wort aus ne. mumps entlehnt, einer wie ein Singular behandelten Pluralform zu ne. mump ein verdrossenes Gesicht machen (bezogen auf… …   Etymologisches Wörterbuch der deutschen sprache

  • mumps — (n.) type of contagious disease, c.1600, from plural of mump a grimace (1590s), originally a verb, to whine like a beggar (1580s), from Du. mompen to cheat, deceive, originally probably to mumble, whine, of imitative origin. The infectious… …   Etymology dictionary

  • Mumps — Mumps: Der seit dem Anfang des 19. Jh.s bezeugte Name für die meist harmlos verlaufende ansteckende Entzündung der Ohrspeicheldrüse – dafür im Volksmund Bezeichnungen wie »Bauernwetzel« und »Ziegenpeter« (s. unter ↑ Ziege) – ist aus dem Engl.… …   Das Herkunftswörterbuch


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»