Vad är programmeringsspråkgenerationer?
Programmeringsspråkgenerationer är ett sätt att klassificera datorprogrammeringsspråk beroende på deras totala avstånd från den faktiska maskinkoden som genereras och på vissa sätt deras användarvänlighet av en programmerare. Det finns tre generellt accepterade programmeringsspråkgenerationer och några få vars definitioner inte är klart överens om. Ett första generationens datorprogrammeringsspråk är rak maskinkod utan abstraktion. Andra generationens språk är abstraherade maskinkoder, till exempel monteringsspråk, som är knutna till en specifik systemarkitektur men som är läsbara av människor och måste sammanställas. Tredje generationens språk är den vanligaste formen, inklusive standardspråk som C och Java®, medan språk som är fjärde generationen eller uppåt har olika definitioner.
När programmeringsspråkgenerationer först skapades för att beskriva språk användes termen mest för att ange tredje generationens språk. Detta innebär att första- och andra generationens språk endast klassificerades som sådana för att lyfta fram tredje generationens språk. Den fjärde och femte generationens programmeringsspråk användes till stor del som termer i relation till marknadsföring för språk som var under utveckling. Inom marknadsföring och vissa akademiska områden används högre numrerade språkgenerationer på ett icke-standardiserat sätt för att indikera att ett språk är nyare eller har fler funktioner än ett annat.
Den första av programmeringsspråkgenerationerna anger maskinkod. Detta innebär att skriva ett program som en sekvens av byte eller, i extrema fall, bitar som direkt kan köras av en dator. I de flesta fall avser detta ett system som accepterar ingång via hårkodade switchar eller andra fysiska mekanismer.
Andra generationens programmeringsspråk anses vara språk i mötesstil. Det här är språk som är skrivna med mänsklig läsbar kod och kommandon som fortfarande är knutna till specifika systemarkitekturer men har en enklare utvecklingsmiljö och en viss abstraktion. Församlingsspråk slutade aldrig att användas, från och med 2011, och är inte bara extremt kraftfulla utan kan också användas som inline-uttalanden på högre nivå programmeringsspråk, vilket gör falskt uppfattningen att genereringen av ett språk motsvarar dess hastighet eller kraft.
Tredje generationens programmeringsspråk kopplade bort koden från processorn i ännu större utsträckning, vilket möjliggjorde utveckling av kod som använde mer läsbara uttalanden. Dessutom utvecklades kompilatorer som kunde förvandla en enda kodrad till flera monteringsuppdrag över flera plattformar och så småningom till dussintals eller fler maskinkodinstruktioner. Nästan alla datorspråk som kan sammanställa inbyggda binära körbara filer och bibliotek betraktas som tredje generationens språk.
I allmänhet ses en fjärde generationens språk som ett språk som är avsett att använda någon typ av programmeringsspråk som är mycket naturligt för användaren. Det kan också definieras som ett språk som använder visuella element för att bygga det slutliga programmet. En tredje definition är ett programmeringsspråk som är byggt för ett specifikt syfte, till exempel ett databasprogrammeringsspråk eller ett snabbt applikationsutvecklingsspråk (RAD).
En lös definition av ett femte generations datorspråk är en som låter en programmerare presentera datorn med ett problem som den sedan försöker lösa. De flesta språk som är listade som femte generationens språk är i huvudsak akademiska. Andra generationer av programmeringsspråk, som sjätte och sjunde, har använts av kommersiella språkutvecklare för marknadsföringsändamål.