Programovací jazyk čtvrté generace - Fourth-generation programming language

Programovací jazyk čtvrté generace ( 4GL ) je jakýkoliv počítačový programovací jazyk , který patří do skupiny jazyků představil jako pokrok při programovacích jazyků třetí generace (3GL). Každá z generací programovacích jazyků si klade za cíl poskytnout vyšší úroveň abstrakce detailů interního hardwaru počítače , aby byl jazyk programátoru přívětivější, výkonnější a univerzálnější. Přestože se definice 4GL v průběhu času měnila, lze ji charakterizovat tak, že více operujete s velkými sbírkami informací najednou, než abyste se soustředili pouze na bity a bajty . Jazyky, o nichž se tvrdí, že jsou 4GL, mohou zahrnovat podporu pro správu databází , generování sestav , matematickou optimalizaci , vývoj GUI nebo vývoj webových aplikací . Někteří vědci uvádějí, že 4GL jsou podmnožinou jazyků specifických pro doménu .

Koncept 4GL byl vyvinut od 70. až 90. let minulého století a překrýval většinu vývoje 3GL, přičemž 4GL byly identifikovány jako „neprocesní“ nebo „program vytvářející“ jazyky, což je v kontrastu s tím, že 3GL jsou algoritmické nebo procedurální jazyky. Zatímco 3GL jako C , C ++ , C# , Java a JavaScript zůstávají populární pro širokou škálu použití, 4GL, jak bylo původně definováno, našlo využití zaměřené na databáze, zprávy a webové stránky. Některé pokročilé 3GL jako Python , Ruby a Perl kombinují některé 4GL schopnosti v obecném 3GL prostředí a knihovny s funkcemi podobnými 4GL byly vyvinuty jako doplňky pro většinu populárních 3GL, produkující jazyky, které jsou mixem 3GL a 4GL, čímž se rozdíl stírá.

V osmdesátých a devadesátých letech se vyvíjely snahy o vývoj programovacích jazyků páté generace (5GL).

Dějiny

Ačkoli byl termín 4GL použit dříve v novinách a diskusích, poprvé jej formálně použil James Martin ve své knize Vývoj aplikací bez programátorů z roku 1981 k označení neprocesních jazyků na vysoké úrovni specifikací . Nějakým primitivním způsobem byly rané 4GL zahrnuty do produktu Informatics MARK-IV (1967) a Sperry 's MAPPER (1969 interní použití, vydání 1979).

Motivací pro počátek „4GL“ a pokračující zájem je několik. Termín se může vztahovat na velkou sadu softwarových produktů. Může se také vztahovat na přístup, který hledá větší sémantické vlastnosti a výkon implementace. Stejně jako 3GL nabídlo programátorovi větší výkon, tak také 4GL otevřelo vývojové prostředí širší populaci.

Schéma časného vstupu pro 4GL podporovalo zadávání dat v limitu 72 znaků děrné karty (8 bajtů použitých pro sekvenování), kde by značka karty identifikovala typ nebo funkci. Při rozumném používání několika karet by balíček 4GL mohl nabídnout širokou škálu možností zpracování a hlášení, zatímco ekvivalentní funkce kódovaná v 3GL by mohla zahrnovat celou krabici nebo více karet .

72-znakový formát chvíli pokračoval, zatímco hardware postupoval k větší paměti a koncovým rozhraním. I přes svá omezení tento přístup podporoval vysoce sofistikované aplikace.

Jak se rozhraní zlepšovala a umožňovala delší délky příkazů a zpracování vstupů na základě gramatiky, nastal větší výkon. Příklad toho je popsán na stránce Nomad .

Další příklad Nomadovy moci ilustruje Nicholas Rawlings ve svých komentářích k Muzeu počítačové historie o NCSS (viz citace níže). Uvádí, že James Martin požádal Rawlingsa o ​​nomádské řešení standardního problému, který Martin nazval Inženýrův problém : „dejte 6% navýšení technikům, jejichž hodnocení práce mělo průměr 7 nebo lepší“. Martin poskytl „tucet stránek COBOLU a pak jen jednu nebo dvě stránky Marka IV . Z Informatiky “. Rawlings nabídl následující jediné prohlášení, provádějící operaci set-at-a-time ...

Vývoj 4GL byl ovlivněn několika faktory, přičemž omezení hardwaru a operačního systému mají velkou váhu. Když byl 4GL poprvé představen, nesourodá kombinace hardwaru a operačních systémů vyžadovala podporu vývoje vlastních aplikací, která byla pro systém specifická, aby se zajistil prodej. Jedním z příkladů je systém MAPPER vyvinutý společností Sperry . Přestože má své kořeny na začátku, systém se osvědčil v mnoha aplikacích a byl přenesen na moderní platformy. Nejnovější varianta je integrována do nabídky BIS Unisys . MARK-IV je nyní známý jako VISION: BUILDER a je nabízen společností Computer Associates .

Železnice Santa Fe použila MAPPER k vývoji systému v projektu, který byl raným příkladem 4GL, rychlých prototypů a programování uživateli . Myšlenka byla, že je snazší naučit železniční odborníky používat MAPPER, než učit programátory „složitosti železničního provozu“.

Jedním z prvních (a přenosných) jazyků, které měly vlastnosti 4GL, byl Ramis vyvinutý Geraldem C. Cohenem ve společnosti Mathematica , společnosti zabývající se matematickým softwarem. Cohen opustil Mathematicu a založil Information Builders, aby vytvořil podobný 4GL orientovaný na reportování, nazvaný FOCUS .

Pozdější typy 4GL jsou svázány s databázovým systémem a značně se liší od dřívějších typů v používání technik a zdrojů, které vyplynuly z obecného zdokonalení práce s časem.

Zajímavým zvratem na scéně 4GL je zjištění, že grafická rozhraní a související úvahy prováděné uživatelem tvoří „jazyk“, který je špatně srozumitelný.

Typy

Existuje řada různých typů 4GL:

  • Tabulkové (bez kódování) programování, obvykle běžící s runtime frameworkem a knihovnami. Místo použití kódu vývojář definuje jejich logiku výběrem operace v předdefinovaném seznamu příkazů pro manipulaci s pamětí nebo datovou tabulkou. Jinými slovy, vývojář místo kódování používá programování algoritmů řízené tabulkou (viz také řídicí tabulky, které lze pro tento účel použít). Dobrým příkladem tohoto typu jazyka 4GL je PowerBuilder . Tyto typy nástrojů lze použít pro vývoj obchodních aplikací, obvykle sestávající z balíčku, který umožňuje jak manipulaci s obchodními daty, tak vytváření sestav, a proto se dodávají s obrazovkami GUI a editory sestav. Obvykle nabízejí integraci s knihovnami DLL nižší úrovně generovanými z typického 3GL pro případy, kdy vyvstane potřeba více operací specifických pro hardware/OS.
  • Programovací jazyky generátoru zpráv přebírají popis formátu dat a zpráv, které mají být generovány, a z nich buď generují požadovanou zprávu přímo, nebo generují program pro generování zprávy. Viz také RPG
  • Podobně generátory formulářů spravují online interakce s uživateli aplikačního systému nebo generují k tomu programy.
  • Ambicióznější 4GL (někdy označovaná jako prostředí čtvrté generace ) se pokoušejí automaticky generovat celé systémy z výstupů nástrojů CASE , specifikací obrazovek a zpráv a případně také ze specifikace další logiky zpracování.
  • Správa dat 4GL, jako jsou SAS , SPSS a Stata, poskytují sofistikované kódovací příkazy pro manipulaci s daty, přetváření souborů, výběr případů a dokumentaci dat při přípravě dat pro statistickou analýzu a podávání zpráv.
  • Takzvané jazyky „XTalk“, původně vyvinuté pomocí Hypercard společnosti Apple v roce 1987. Hypercard byl předchůdcem modernějších a výkonnějších programů, jako jsou SuperCard, Toolbook a LiveCode.

Některé 4GL mají integrované nástroje, které umožňují snadnou specifikaci všech požadovaných informací:

Nízká kódová prostředí

Ve dvacátém prvním století se systémy 4GL vyvinuly jako prostředí nebo platformy „s nízkým kódem“ pro problém rychlého vývoje aplikací v krátkých časových obdobích. Prodejci často poskytují ukázkové systémy, jako je CRM, správa smluv, sledování chyb, ze kterých může vývoj nastat při malém programování.

Příklady

Univerzální použití

Jazyky dotazu na databázi

Generátory zpráv

Extrahování dat ze souborů nebo databáze k vytváření sestav v široké škále formátů se provádí pomocí nástrojů generátoru sestav.

Jazyky pro manipulaci s daty, analýzy a vykazování

Tvůrci softwaru

Matematická optimalizace

Vývoj GUI na bázi databáze

Nízký kód / žádné platformy pro vývoj kódu

Malíři obrazovky a generátory

Jazyky pro vývoj webových aplikací

Viz také

Reference