Język skryptowy profilu

Język skryptowy profilu
Paradygmat Proceduralny
Zaprojektowany przez Franka Sancheza
Po raz pierwszy pojawiły się 1998
system operacyjny Międzyplatformowe
Pod wpływem
świnki

Profile Scripting Language ( PSL ) jest nadzbiorem języka programowania MUMPS , który dodaje funkcje języka zorientowanego obiektowo . Obecnie jest rozwijany przez Fidelity National Information Services (dalej FIS).

Historia

PSL to język, który implementuje koncepcje zorientowane obiektowo, takie jak klasy, metody, enkapsulacja, dziedziczenie i silne typowanie danych jako rozszerzenia języka świnki. PSL został pierwotnie wymyślony w grudniu 1998 r. przez Franka Sancheza, ówczesnego prezesa Sanchez Computer Associates, jako narzędzie do transformacji, które mogłoby wykonać inżynierię wsteczną bardzo dużej i złożonej aplikacji bankowej (Fidelity National Information Services „Profil”), która została napisana głównie w śwince.

Frank Sanchez opracował oryginalną semantykę języka, składnię, parser, kompilator i optymalizator, interfejs bazy danych, wiązanie schematów, wewnętrzne klasy i metody w okresie świąt Bożego Narodzenia 1998 i na początku 1999 roku. Pomagał mu w opracowywaniu pierwszych wersji komercyjnych (wersja 1 - 2) przez nieżyjącego już Boba Chianga, szefa działu rozwoju narzędzi Data-Qwik w firmie Sanchez, oraz Marka Spiera, ówczesnego starszego programisty w firmie Sanchez. Sanchez Computer Associates (SCAI) została przejęta przez Fidelity National Financial (FNF), obecnie FIS , w kwietniu 2004. W późniejszych wersjach kompilator był utrzymywany i znacznie ulepszany przez Fransa Witte, starszego kierownika technicznego w FIS i Dana Russella, byłego szefa rozwoju technologii w Sanchez, a obecnie zdalnego starszego konsultanta technicznego w FIS. Frans i Dan skupili się na implementacji niezależnych od bazy danych funkcji języka, a ostatnio docelowego kodu źródłowego Javy.

Pojęcia językowe

Początkowe koncepcje językowe obejmowały możliwość powiązania kodu źródłowego ze schematem bazy danych, który generuje dynamiczne klasy dostępu do danych (wyprzedzające generowanie podobnych trwałych klas w Javie ) oraz metody bazy danych, które mogą być kodem generowanym w globalnych plikach MUMPS lub komercyjnym RDMS . Klasy dostępu do danych PSL są identyfikowane w kodzie źródłowym jako Record<classes>.

PSL interpretuje starszy kod MUMPS, chociaż niektóre starsze polecenia (takie jak GO, NEW i KILL) można wyłączyć lub oznaczyć jako przestarzałe (generując ostrzeżenia kompilatora). Bezpośrednie odniesienia do globali świnki również mogą zostać wyłączone lub uznane za przestarzałe. Liczne dyrektywy kompilatora PSL (np. #IF/#ELSE, #ACCEPT) zostały również dodane do języka PSL, podobnie jak bloki i komentarze w stylu Java, nowoczesna semantyka obsługi błędów i białe znaki. Dwa elementy języka MUMPS zostały początkowo wyeliminowane (bloki w stylu M i etykieta goto + przesunięcie), ponieważ nie mogły być obsługiwane w ramach obsługi zakresu obiektów PSL.

PSL pozwala na zdefiniowanie klasy jako wewnętrznej lub zewnętrznej. Klasy zewnętrzne implementują definicje zmiennych klasy, metody i instancji zgodne z popularnymi językami obiektowymi i są generowane w skompilowanym kodzie (dostępnym w czasie wykonywania). Z drugiej strony wewnętrzne klasy i metody są implementowane jako rozszerzenia samego kompilatora PSL i są wykonywane w czasie COMPILE w celu wygenerowania kodu wykonawczego. Ta funkcja może generować wysoce zoptymalizowany lub wyspecjalizowany kod w zależności od czasu kompilacji lub warunków programu. Ta możliwość została uznana za kluczową dla możliwości generowania kodu, który optymalizował zarówno globalną bazę danych świnki, jak i wiele komercyjnych RDMS z tego samego źródła PSL.

Wydania

Pierwsza wersja PSL (pierwotnie nazywana M++) miała miejsce latem 1999 roku jako część profilu w wersji 6.2. W tej wersji mniej niż 5% kodu świnki zostało przekonwertowane na PSL, chociaż nowy rozwój dotyczył głównie kodu źródłowego PSL i trwała analiza pod kątem szeroko rozpowszechnionej inżynierii wstecznej. Konwersja aplikacji Profile ze świnki na PSL została w 100% zakończona w 2006 roku wraz z wydaniem wersji Profile 7.0. Profil w wersji 7.0 był również pierwszą komercyjną wersją aplikacji, którą można było uruchomić w bazie GT.M MUMPS lub w bazie danych Oracle 9 , z kodem źródłowym GT.M MUMPS jako celem PSL.

Obecnie PSL jest nadal aktywnie ulepszany, aby obsługiwał IBM DB2 jako docelową bazę danych i opcjonalnie generował kod docelowy GT.M MUMPS lub Java z tego samego kodu źródłowego PSL. Ponadto PSL jest wspierany przez nowoczesne Eclipse , ze zintegrowanym zarządzaniem schematami i kodami oraz licznymi interaktywnymi wtyczkami. Jim Joyce, starszy programista R&D w FIS, był odpowiedzialny za większość wizji i rozwoju IDE.

Używa

Od czerwca 2011 r. PSL pozostaje językiem kodu źródłowego systemu bankowego FIS Profile, wdrożonego w 26 krajach i ponad 200 instytucjach, w tym w niektórych z największych banków na świecie. Chociaż w przyszłości możliwe są wdrożenia Java i komercyjnego RDMS, obecnie 100% wdrożeń odbywa się w docelowym języku i bazie danych GT.M MUMPS, z wyjątkiem pojedynczego wdrożenia Oracle DBMS.

Zobacz też


Linki zewnętrzne