Язык сценариев профиля
Парадигма | процедурный |
---|---|
Разработано | Фрэнк Санчес |
Впервые появился | 1998 |
ТЫ | Кросс-платформенный |
Под влиянием | |
Свинка |
Profile Scripting Language ( PSL ) — это надмножество MUMPS языка программирования , которое добавляет функции объектно-ориентированного языка . В настоящее время он разрабатывается Fidelity National Information Services (далее 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.
Языковые концепции
[ редактировать ]Первоначальные концепции языка включали возможность привязки исходного кода к схеме базы данных, которая генерирует динамические классы доступа к данным (предваряя создание аналогичного постоянного класса в Java ) и методы базы данных, которые могли быть сгенерированы кодом либо в глобальные переменные MUMPS, либо в коммерческую RDMS . Классы доступа к данным PSL идентифицируются в исходном коде как Record<classes>.
PSL интерпретирует устаревший код MUMPS, хотя некоторые устаревшие команды (например, GO, NEW и KILL) можно отключить или пометить как устаревшие (генерируя предупреждения компилятора). Прямые ссылки на глобальные переменные MUMPS также могут быть отключены или признаны устаревшими. В язык PSL также были добавлены многочисленные директивы компилятора PSL (например, #IF/#ELSE, #ACCEPT), а также блоки и комментарии в стиле Java, современная семантика обработки ошибок и пробелы. Два элемента языка MUMPS изначально были исключены (блоки M-стиля и метка перехода + смещение), поскольку они не могли поддерживаться при обработке области объекта 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 поддерживается современной средой разработки на базе Eclipse со встроенной схемой и управлением кодом, а также многочисленными интерактивными плагинами. Джим Джойс, старший разработчик исследований и разработок в FIS, отвечал за большую часть концепции и разработки IDE.
Использование
[ редактировать ]По состоянию на июнь 2011 года PSL остается языком исходного кода банковской системы FIS Profile, развернутой в 26 странах и более чем 200 учреждениях, включая некоторые из крупнейших банков мира. Хотя в будущем возможно развертывание Java и коммерческих RDMS, сегодня 100% развертываний выполняются на целевом языке и базе данных GT.M MUMPS, за исключением одного развертывания СУБД Oracle.
См. также
[ редактировать ]Ссылки
[ редактировать ]