Programovací jazyk čtvrté generace - Fourth-generation programming language
A programovací jazyk čtvrté generace (4GL) je libovolný počítač programovací jazyk náležející do třídy jazyků představovaných jako pokrok programovací jazyky třetí generace (3GL). Každý z generace programovacích jazyků si klade za cíl poskytnout vyšší úroveň abstrakce interní počítačový hardware podrobnosti, aby byl jazyk více programátor - přátelský, výkonný a všestranný. I když se definice 4GL v průběhu času měnila, lze ji typizovat tím, že bude pracovat více s velkými sbírkami informací najednou, než aby se soustředila jen na bity a bajtů. Jazyky, o kterých se tvrdí, že jsou 4GL, mohou zahrnovat podporu pro databáze řízení, generování zpráv, matematická optimalizace, Vývoj GUI nebo vývoj webových aplikací. Někteří vědci tvrdí, že 4GL jsou podmnožinou jazyky specifické pro doménu.[1][2]
Koncept 4GL byl vyvinut od 70. let do 90. let 20. století a překrýval většinu vývoje 3GL, přičemž 4GL byly označeny jako „neprocesní“ nebo „program vytvářející“ jazyky, na rozdíl od 3GL jako algoritmické nebo procedurální jazyky. Zatímco 3GL se líbí C, C ++, C#, Jáva, a JavaScript zůstávají populární pro širokou škálu použití, 4GLs, jak byla původně definována, nalezla použití zaměřená na databáze, zprávy a webové stránky.[3] Některým pokročilým 3GL se líbí Krajta, Rubín, a Perl kombinovat některé schopnosti 4GL v univerzálním prostředí 3GL,[4] a knihovny s funkcemi podobnými 4GL byly vyvinuty jako doplňky pro nejpopulárnější 3GL a vytvářejí jazyky, které jsou kombinací 3GL a 4GL, čímž tento rozdíl stírají.[5]
V 80. a 90. letech 20. století se vyvíjely snahy programovací jazyky páté generace (5GL).
Dějiny
Ačkoli byl termín 4GL používán dříve v příspěvcích a diskusích, poprvé jej formálně použil James Martin ve své knize z roku 1981 Vývoj aplikací bez programátorů[6] odkazovat na neprocesní, na vysoké úrovni specifikační jazyky. Nějakým primitivním způsobem byly rané 4GL zahrnuty do Informatika ZNAČKA-IV (1967) produkt a Sperry je MAPPER (1969, interní použití, vydání z roku 1979).
Motivací pro vznik „4GL“ a trvalého zájmu je několik. Tento výraz 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, otevřelo 4GL vývojové prostředí i širší populaci.
Časné schéma vstupu pro 4GL podporovalo zadávání dat v rámci Limit 72 znaků děrného štítku (8 bajtů použitých k sekvenování), kde značka karty identifikuje typ nebo funkci. S uvážlivým použitím několika karet, 4GL paluba může nabídnout širokou škálu možností zpracování a podávání zpráv, zatímco ekvivalentní funkce kódované v a 3GL mohl zahrnout snad celou krabici nebo více karty.[7]
72místný formát chvíli pokračovala jak hardware postupoval k větší paměti a terminálovým rozhraním. I se svými omezeními tento přístup podporoval vysoce sofistikované aplikace.
Jak se rozhraní zlepšovala a umožňovala delší délky příkazů a zpracování vstupů řízených gramatikou, následovala větší síla. Příklad tohoto je popsán na Nomád strana.
- Další příklad Nomadovy moci ilustruje Nicholas Rawlings ve svých komentářích pro Muzeum počítačové historie o NCSS (viz citace níže). On to hlásí James Martin požádal Rawlingsa o nomádské řešení standardního problému, který Martin nazval Inženýrův problém: „Zvýšení o 6% inženýrům, jejichž hodnocení pracovních míst bylo v průměru 7 nebo lepší.“ Martin poskytl „tucet stránek COBOLU a pak jen jednu nebo dvě stránky Mark IV, z Informatika "Rawlings nabídl následující jediný příkaz, 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 měla velkou váhu. Když byla 4GL poprvé představena, různorodá kombinace hardwaru a operačních systémů nařídila podporu vývoje vlastních aplikací, která byla specifická pro tento systém, aby se zajistil prodej. Jedním z příkladů je MAPPER systém vyvinutý společností Sperry. Ačkoli má kořeny zpět na začátek, systém se osvědčil v mnoha aplikacích a byl přenesen na moderní platformy. Nejnovější varianta je zabudována do BIS[8] nabídka Unisys. ZNAČKA-IV je nyní známá jako VISION: BUILDER a nabízí ji Computer Associates.
Santa Fe použitá železnice MAPPER vyvinout systém v projektu, který byl časným příkladem 4GL, rychlé prototypování, a programování uživateli.[9] Hlavní myšlenkou bylo, že je snazší naučit odborníky na železnici používat MAPPER než učit programátory „složitosti železničního provozu“.[10]
Jedním z prvních (a přenosných) jazyků, které měly vlastnosti 4GL, byl Ramis vyvinutý Geraldem C. Cohenem v Mathematica, matematická softwarová společnost. Cohen opustil Mathematicu a založil Information Builders, aby vytvořil podobný 4GL orientovaný na reportování, tzv SOUSTŘEDIT SE.
Pozdější typy 4GL jsou svázány s databázovým systémem a jsou daleko odlišné od dřívějších typů v používání technik a prostředků, které vyplynuly z obecného zlepšení práce s časem.
Zajímavým zvratem scény 4GL je zjištění, že grafická rozhraní a související uvažování provádí uživatel formou „jazyka“, který je špatně srozumitelný.
Typy
Existuje celá řada různých typů 4GL:
- Programování řízené tabulkou (bez kódu), obvykle běží s runtime frameworkem a knihovnami. Místo použití kódu vývojář definuje svou logiku výběrem operace v předdefinovaném seznamu příkazů pro manipulaci s pamětí nebo datovou tabulkou. Jinými slovy, místo kódování používá vývojář programování algoritmů řízených tabulkou (viz také kontrolní 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 podnikových aplikací, obvykle sestávající z balíčku umožňujícího manipulaci s obchodními daty a vytváření sestav, proto přicházejí 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 je zapotřebí více operací specifických pro hardware / OS.
- Programovací jazyky generátoru sestav vezměte popis datového formátu a sestavy, kterou chcete vygenerovat, a z toho buď přímo vygenerují požadovanou sestavu, nebo vygenerují program pro generování sestavy. Viz také RPG
- Podobně generátory formulářů spravují online interakce s uživateli aplikačního systému nebo k tomu generují programy.
- Ambicióznější 4GL (někdy označované jako prostředí čtvrté generace) pokus o automatické generování celých systémů z výstupů PŘÍPAD nástroje, specifikace obrazovek a zpráv a případně také specifikace nějaké další logiky zpracování.
- Správa dat 4GL jako např SAS, SPSS, a Stata poskytují propracované kódování příkazy pro manipulaci s daty, přetváření souborů, výběr případů a dokumentaci dat při přípravě dat pro Statistická analýza a hlášení.
- Takzvané jazyky „XTalk“, původně vyvinuté společností Hypercard od společnosti Apple v roce 1987. Hypercard byla předkem 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í:
- Verze Jamese Martina z Informační inženýrství metodologie vývoje systémů byl automatizován, aby umožňoval zadávání výsledků systémové analýzy a návrhu ve formě diagramy toku dat, diagramy vztahů mezi entitami, diagramy historie života entit atd., z nichž stovky tisíc řádků COBOL budou generovány přes noc.
- Poslední dobou Oracle Corporation je Oracle Designer a Oracle Developer Suite Produkty 4GL lze integrovat a vytvářet definice databází a programy formulářů a zpráv.
Prostředí s nízkým kódem
Ve dvacátém prvním století se systémy 4GL ukázaly 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 kontraktů, sledování chyb, z nichž může nastat vývoj s malým programováním.[11]
Příklady
Obecné použití / univerzální
- Plynový pedál (Produktivita)
- Accell / SQL (4GL) z Unify Corporation.
- CA-Telon 4GL Cobol / PLI generátor
- Clarione
- Klipr
- Cognos PowerHouse 4GL
- DataFlex
- SOUSTŘEDIT SE
- Forté TOOL (transakční objektově orientovaný jazyk)
- GeneXus
- Přístav
- IBM Rational EGL (Enterprise Generation Language )
- LabVIEW
- LANSA
- LINC
- LiveCode
- M-Power
- PŘÍRODNÍ
- Studio Omnis SDK
- Rámec pro vývoj aplikací Oracle
- OutSystems (Produktivita / PaaS)
- PowerBuilder
- DEC SHROMÁŽDĚNÍ
- SheerPower4GL (Pouze Microsoft Windows)
- SQLWindows /Týmový vývojář
- Uniface
- Unix Shell
- DataFlex (Microsoft Windows, web, mobilní zařízení)
- Visual FoxPro
- XBase ++
Databáze dotazovací jazyky
Generátory zpráv
- LINC
- Zprávy Oracle
- Pokrok 4GL Dotaz / výsledky
- RPG-II
Extrahování dat ze souborů nebo databáze k vytváření zpráv v široké škále formátů se provádí pomocí nástrojů generátoru zpráv.
Jazyky manipulace s daty, analýzy a podávání zpráv
- Ab Initio
- ABAP
- Auditovat příkazový jazyk
- Programovací jazyk Clarion
- CorVision
- Viník
- REKLAMY / online (plus zpracování transakce)
- Easytrieve
- SOUSTŘEDIT SE
- GraphTalk
- IDL
- IGOR Pro
- Informix-4GL
- JSL
- LANSA
- M-Power
- LabVIEW
- LiveCode
- MANTIS
- MAPPER (Unisys / Sperry ) nyní součástí BIS
- ZNAČKA-IV (Euro / Informatika ) nyní VISION: BUILDER of CA
- Simulink součást MATLAB
- PŘÍRODNÍ
- Nomád
- Oktáva
- PL / SQL
- Pokrok 4GL
- PROIV
- R
- Ramis
- S
- Scilab
- SAS
- SPSS
- SQL PL
- SQR
- Stata
- Synon
- Wolfram jazyk
- XBase ++
- Xquery
- XSLT
software tvůrci
- 4. dimenze (software)
- LiveCode
- MATLAB PRŮVODCE
- Studio Omnis
- Otevřená cesta
- Pokrok 4GL AppBuilder
- SuperTalk
- Vizuální DataFlex
- XUL Lze použít s Xquery
Matematická optimalizace
Vývoj databázových aplikací GUI
Platformy pro vývoj nízkého kódu / žádný kód[12][13]
Malíři a generátory obrazovek
- Oracle Forms
- Pokrok 4GL Ustanovení
- SB + / SystemBuilder
Jazyky pro vývoj webu
Viz také
- Programovací jazyk první generace
- Programovací jazyk druhé generace
- Programovací jazyk třetí generace
- Programovací jazyk páté generace
- Seznam programovacích jazyků čtvrté generace
- Programovací jazyk specifický pro doménu
- Rychlý vývoj aplikací
Reference
- ^ 35th Hawaii International Conference on System Sciences - 1002 Jazyky specifické pro doménu pro softwarové inženýrství Archivováno 16. května 2011, v Wayback Machine
- ^ Arie van Deursen; Paul Klint; Joost Visser (1998). „Jazyky specifické pro doménu: anotovaná bibliografie“. Archivovány od originál dne 02.02.2009. Citováno 2009-03-15.
- ^ „Vývoj softwaru, nástroje CASE a 4GL - průzkum využití Nového Zélandu. Část 1: 750 novozélandských organizací“. hdl:10523/928. Citovat deník vyžaduje
| deník =
(Pomoc) - ^ http://www.rogerclarke.com/SOS/SwareGenns.html
- ^ „Definice jazyka čtvrté generace“. PCMAG. Citováno 7. května 2020.
- ^ Martin, James. Vývoj aplikací bez programátorů. Prentice-Hall, 1981. ISBN 0-13-038943-9.
- ^ „Děrné karty IBM“. www.columbia.edu. Archivovány od originál dne 16. 2. 2019. Citováno 2019-02-03.
- ^ „Software pro dolování dat, analýza dat a další: Funkce serveru Unisys Business Information Server“. Unisys. 21. 8. 2006. Archivovány od originál dne 2006-08-21. Citováno 2019-02-03.
- ^ Louis Schlueter (1988). Uživatelsky navržené výpočty: Nová generace. [kniha o generátoru zpráv a systémech MAPPER]
- ^ Barbara Canning McNurlin; Ralph H. Sprague (2004). "Ch. 9". Správa informačních systémů v praxi (PDF). Pearson / Prentice Hall. ISBN 978-0-13-101139-7.[trvalý mrtvý odkaz ]
- ^ Forresti, Connere. „Jak Salesforce používá orchestraci s nízkým kódem k ukládání‚ zmítaných projektů IoT'". ZDNet.
- ^ Marvin, Rob; 10. srpna 2018 13:50 EST; 10. srpna 2018. „Nejlepší platformy pro vývoj nízkých kódů pro rok 2019“. PCMAG.CS1 maint: číselné názvy: seznam autorů (odkaz)
- ^ Sayer, Martin Heller a Peter (6. dubna 2018). „25 jednoduchých nástrojů pro rychlé vytváření mobilních aplikací“. InfoWorld. Archivovány od originál dne 18. listopadu 2017. Citováno 17. listopadu 2017.
- ^ „DronaHQ. Vytvářejte aplikace bez kódování“. www.dronahq.com. Archivovány od originál dne 09.08.2019. Citováno 2019-09-11.
- ^ „K2 - Digital Process Automation“. www.k2.com. Archivovány od originál dne 2017-11-21. Citováno 2017-11-20.
- ^ „Kony. Urychlete digitální úspěch“. Kony. Archivovány od originál dne 2017-11-24. Citováno 2017-11-20.