Язык сценариев профиля - Википедия - Profile Scripting Language

Язык сценариев профиля
ПарадигмаПроцедурный
РазработаноФранк Санчес
Впервые появился1998
Операционные системыКроссплатформенность
Под влиянием
МАМПЫ

Язык сценариев профиля (PSL) является надмножеством МАМПЫ язык программирования это добавляет особенности объектно-ориентированного языка. В настоящее время он разработан Национальная информационная служба Fidelity (далее FIS).

История

PSL - это язык, реализующий объектно ориентированный такие концепции, как классы, методы, инкапсуляция, наследование и строгая типизация данных, как расширения языка MUMPS. Первоначально PSL был задуман в декабре 1998 года Фрэнком Санчесом, тогдашним президентом Sanchez Computer Associates, как инструмент преобразования, который мог обратный инженер очень большое и сложное банковское приложение («Профиль» Fidelity National Information Services), которое было написано преимущественно на MUMPS.

Франк Санчес разработал семантику исходного языка, синтаксис, синтаксический анализатор, компилятор и оптимизатор, интерфейс базы данных, привязку схемы, внутренние классы и методы во время рождественских праздников в 1998 году и в начале 1999 года. Ему помогали в разработке первых коммерческих выпусков (версия 1 - 2) покойным Бобом Чиангом, руководителем отдела разработки инструментов Data-Qwik в Sanchez, и Марком Спиером, старшим разработчиком программного обеспечения в Sanchez в то время. Sanchez Computer Associates (SCAI) была приобретена Fidelity National Financial (FNF), теперь FIS, в апреле 2004 г. В более поздних версиях компилятор поддерживался и значительно улучшался Франсом Витте, старшим техническим руководителем FIS, и Дэном Расселом, ранее руководившим технологическим развитием в Sanchez, а теперь удаленным старшим техническим консультантом FIS. Франс и Дэн сосредоточились на реализации функций языка, не зависящих от базы данных, а в последнее время - на исходном целевом коде Java.

Языковые концепции

Первоначальные языковые концепции включали возможность привязать исходный код к схеме базы данных, которая генерирует динамические классы доступа к данным (вытесняя создание аналогичных постоянных классов в Ява ) и методы базы данных, которые могут быть сгенерированы кодом либо в глобальные, либо в коммерческие RDMS. Классы доступа к данным PSL обозначены в исходном коде как Record .

PSL интерпретирует устаревший код MUMPS, хотя некоторые устаревшие команды (например, GO, NEW и KILL) могут быть отключены или помечены как устаревшие (генерирующие предупреждения компилятора). Прямые ссылки на глобальные объекты MUMPS также могут быть отключены или объявлены устаревшими. К языку PSL были добавлены многочисленные директивы компилятора PSL (например, # IF / # ELSE, #ACCEPT), а также блоки и комментарии в стиле Java, современная семантика обработки ошибок и пробелы. Изначально были исключены два языковых элемента MUMPS (блоки в стиле M и метка goto + смещение), поскольку они не могли поддерживаться в рамках обработки области объекта PSL.

PSL позволяет определять класс как внутренний или внешний. Внешние классы реализуют определения переменных класса, метода и экземпляра, согласующиеся с общими языками объектно-ориентированного программирования, и генерируются в скомпилированный код (доступный во время выполнения). С другой стороны, внутренние классы и методы реализованы как расширения самого компилятора PSL и выполняются во время КОМПИЛЯЦИИ для генерации кода времени выполнения. Эта функция может генерировать сильно оптимизированный или специализированный код в зависимости от времени компиляции или условий программы. Эта возможность считалась критически важной для возможности генерировать код, оптимизирующий как глобальную базу данных MUMPS, так и несколько коммерческих RDMS из одного источника PSL.

Релизы

Первоначальный выпуск PSL (первоначально называвшийся M ++) был выпущен летом 1999 года как часть версии 6.2 профиля. В этом выпуске менее 5% кода MUMPS было преобразовано в PSL, хотя новая разработка была преимущественно в исходном коде PSL, и в настоящее время проводится анализ для широко распространенного обратного проектирования. Преобразование приложения Profile из MUMPS в PSL было на 100% завершено в 2006 году с выпуском версии Profile 7.0. Версия профиля 7.0 также была первой коммерческой версией приложения, которую можно было запустить на любой GT.M База данных MUMPS или База данных Oracle 9, с исходным кодом GT.M MUMPS в качестве цели PSL.

В настоящее время PSL продолжает активно улучшаться для поддержки IBM DB2 в качестве целевой базы данных и при желании сгенерировать целевой код GT.M MUMPS или Java из того же исходного кода PSL. Кроме того, PSL поддерживается современным Затмение - среда разработки с интегрированной схемой и управлением кодом, а также с многочисленными интерактивными плагинами. Джим Джойс, старший разработчик НИОКР в FIS, отвечал за большую часть видения и разработки IDE.

Использует

По состоянию на июнь 2011 года PSL остается языком исходного кода для банковской системы FIS Profile, развернутой в 26 странах и более чем 200 учреждениях, включая некоторые из крупнейших банков мира. Хотя в будущем возможно развертывание Java и коммерческих RDMS, сегодня 100% развертываний выполняются на целевом языке и базе данных GT.M MUMPS, за исключением одного развертывания СУБД Oracle.

Смотрите также

Рекомендации


внешняя ссылка