4GL (fjärde generationens språk) programvara hänvisar till en kategori av programmeringsspråk och verktyg som är högre och mer abstrakt än 3GLS (som C, Pascal eller Java). De syftar till att göra mjukvaruutveckling snabbare och enklare genom att tillhandahålla funktioner som automatiserar många av de uppgifter som är involverade i kodning. Istället för att hantera detaljer på låg nivå som minneshantering eller uttryckliga slingor, tillåter 4GLS utvecklare att uttrycka sina avsikter på en högre abstraktionsnivå, ofta närmare problemdomänen.
Viktiga egenskaper hos 4GL -programvara och verktyg inkluderar:
* deklarativ programmering: Istället för att specificera * hur * att lösa ett problem steg-för-steg, förklarar utvecklare ofta * vad * det önskade resultatet är, och 4GL-systemet räknar ut de underliggande implementeringsdetaljerna. Detta minskar mängden kod som behövs.
* Datacentric: Många 4GLS är starkt fokuserade på databashantering. De tillhandahåller verktyg för fråga, manipulering och rapportering om data i en databas med relativt liten kod.
* Rapid Application Development (RAD): Målet med 4GLS är att påskynda utvecklingsprocessen avsevärt. Detta uppnås genom funktioner som inbyggda rapportgeneratorer, GUI-byggare och automatiserad kodgenerering.
* domänspecifik: Vissa 4GL:er är utformade för specifika applikationer eller domäner, som statistisk analys, finansiell modellering eller geografiska informationssystem (GIS).
Exempel på 4GL -verktyg och deras applikationer:
* sql (strukturerat frågespråk): Förmodligen den mest kända 4GL, som främst används för databasfrågor och manipulation.
* Rapportgeneratorer: Verktyg som gör det möjligt för användare att enkelt skapa rapporter från databaser med liten eller ingen programmering.
* kalkylbladsprogramvara (t.ex. Excel, Google Sheets): Även om de inte strikt programmerar språk, innehåller de 4GL-liknande funktioner för dataanalys och manipulation med hjälp av formler och makron.
* databashanteringssystem (DBMS) med inbyggda frågespråk: Många DBMS inkluderar sina egna 4GL-liknande språk för att interagera med databasen.
* Olika radverktyg: Dessa ger ofta visuella gränssnitt för att utforma användargränssnitt och ansluta dem till databaser.
Medan 4GL:er erbjuder betydande fördelar när det gäller hastighet och enkel utveckling, kan de vara mindre effektiva eller flexibla än 3GLS för mycket komplexa eller specialiserade applikationer. Valet mellan en 3GL och en 4GL beror på de specifika projektkraven och begränsningarna.