Programmeringssproggenerationer - Programming language generations

Programmeringssprog er blevet klassificeret i flere programmeringssproggenerationer . Historisk set blev denne klassifikation brugt til at indikere stigende effekt i programmeringsstile. Senere forfattere har noget omdefineret betydningerne, da forskelle, der tidligere blev set som vigtige, blev mindre betydelige for den nuværende praksis.

Generationer

Første generation (1GL)

Eksempler: maskine-niveau programmeringssprog

En første-generations programmeringssprog (1GL) er en maskine-niveau programmeringssprog .

Et første generations (programmeringssprog) (1GL) er en gruppering af programmeringssprog, der er sprog på maskinniveau, der bruges til at programmere første generations computere . Oprindeligt blev ingen oversætter brugt til at kompilere eller samle det første generations sprog. Første generations programmeringsinstruktioner blev indtastet via frontpanelkontakterne på computersystemet.

Instruktionerne i 1GL er lavet af binære tal , repræsenteret med 1s og 0s. Dette gør sproget egnet til forståelse af maskinen, men langt vanskeligere at fortolke og lære af den menneskelige programmør.

Anden generation (2GL)

Eksempler: forsamlingssprog

Anden generations programmeringssprog (2GL) er en generationsmåde til at kategorisere forsamlingssprog .

Tredje generation (3GL)

Eksempler: C , C ++ , Java , Python , PHP , Perl , C# , BASIC , Pascal , Fortran , ALGOL , COBOL

3GL'er er meget mere maskinuafhængige (bærbare) og mere programmeringsvenlige. Dette inkluderer funktioner som forbedret support til samlede datatyper og udtryk for begreber på en måde, der favoriserer programmereren, ikke computeren. Et tredje generations sprog forbedrer sig over et andet generations sprog ved at lade computeren tage sig af ikke-væsentlige detaljer. 3GL'er er mere abstrakte end tidligere generationer af sprog og kan derfor betragtes som sprog på højere niveau end deres første og anden generations modstykker. Fortran , ALGOL og COBOL blev først introduceret i slutningen af ​​1950'erne og er eksempler på tidlige 3GL'er.

De mest populære generelle sprog i dag, såsom C , C ++ , C# , Java , BASIC og Pascal , er også tredje generations sprog, selvom hvert af disse sprog yderligere kan opdeles i andre kategorier baseret på andre nutidige træk. De fleste 3GL'er understøtter struktureret programmering . Mange understøtter objektorienteret programmering . Egenskaber som disse bruges oftere til at beskrive et sprog frem for bare at være en 3GL.

Fjerde generation (4GL)

Eksempler: ABAP , Unix Shell , SQL , PL/SQL , Oracle Reports , R

Fjerde generations sprog har en tendens til at være specialiseret mod meget specifikke programmeringsdomæner . 4GL'er kan omfatte understøttelse af databasestyring , rapportgenerering , matematisk optimering , GUI -udvikling eller webudvikling .

Femte generation (5GL)

Eksempler: Prolog , OPS5 , Merkur

Et femte generations programmeringssprog (5GL) er ethvert programmeringssprog baseret på problemløsning ved hjælp af begrænsninger givet til programmet, frem for at bruge en algoritme skrevet af en programmør. De fleste begrænsningsbaserede og logiske programmeringssprog og nogle andre deklarative sprog er femte generations sprog.

Mens fjerde generations programmeringssprog er designet til at bygge specifikke programmer, er femte generations sprog designet til at få computeren til at løse et givet problem uden programmereren. På denne måde behøver brugeren kun at bekymre sig om, hvilke problemer der skal løses, og hvilke betingelser der skal opfyldes, uden at bekymre sig om, hvordan man implementerer en rutine eller algoritme for at løse dem. Femte generations sprog bruges hovedsageligt i kunstig intelligensforskning . OPS5 og Merkur er eksempler på femte generations sprog, ligesom ICAD , der blev bygget på Lisp . KL-ONE er et eksempel på en beslægtet idé, et rammesprog .

Historie

Begreberne "første generation" og "anden generation" programmeringssprog blev ikke brugt før udformningen af ​​udtrykket "tredje generation"; ingen af ​​disse tre udtryk er nævnt i tidlige kompendier af programmeringssprog. Indførelsen af ​​en tredje generation af computerteknologi faldt sammen med oprettelsen af ​​en ny generation af programmeringssprog. Markedsføringen af ​​dette generationsskifte i maskiner korrelerede med flere vigtige ændringer i det, der blev kaldt programmeringssprog på højt niveau , diskuteret nedenfor, hvilket gav teknisk indhold til anden/tredje generations skelnen mellem programmeringssprog på højt niveau, mens maskinen omdøbte maskinen med tilbagevirkende kraft. kodesprog som første generation og samlingssprog som anden generation .

Oprindeligt blev alle programmeringssprog på et højere niveau end samling betegnet " tredje generation ", men senere blev udtrykket " fjerde generation " introduceret for at forsøge at differentiere de (dengang) nye deklarative sprog (såsom Prolog og domæne- specifikke sprog), der hævdede at fungere på et endnu højere niveau og i et domæne endnu tættere på brugeren (f.eks. på et naturligt sprogligt niveau) end de originale, tvingende sprog på højt niveau, såsom Pascal , C , ALGOL , Fortran , BASIC osv.

"Generations" klassificering af sprog på højt niveau (tredje generation og senere) var aldrig helt præcis og blev senere måske opgivet, hvor mere præcise klassifikationer fik almindelig brug, såsom objektorienteret , deklarativ og funktionel. C gav anledning til C ++ og senere til Java og C# ; Lisp til CLOS ; Ada til Ada 2012 ; og endda COBOL til COBOL 2002 . Nye sprog er også dukket op i den "generation".

Se også

Referencer