Hva er programmeringsspråkgenerasjoner?
Programmeringsspråkgenerasjoner er en måte å klassifisere programmeringsspråk for datamaskiner i henhold til deres generelle avstand fra den faktiske maskinkoden som er generert og på noen måter deres brukervennlighet av en programmerer. Det er tre generelt aksepterte generasjoner for programmeringsspråk og noen få hvis definisjoner ikke er klart enige om. Et første generasjons programmeringsspråk for datamaskiner er rett maskinkode uten abstraksjon. Andregenerasjonsspråk er abstraherte maskinkode, for eksempel samlingsspråk, som er knyttet til en spesifikk systemarkitektur, men som er lesbare av mennesker og må sammenstilles. Tredje generasjonsspråk er den vanligste formen, inkludert standardspråk som C og Java®, mens språk som er fjerde generasjon eller oppover har varierte definisjoner.
Da programmeringsspråkgenerasjoner ble opprettet for å beskrive språk, ble begrepet mest brukt for å indikere tredjegenerasjonsspråk. Dette betyr at første- og andregenerasjonsspråk bare ble klassifisert som sådan for å fremheve mulighetene til tredje generasjonsspråk. Den fjerde og femte programmeringsspråkgenerasjonen ble i stor grad brukt som betegnelser i forhold til markedsføring for språk som var i utvikling. Innen markedsføring og noen akademiske områder brukes høyere nummererte språkgenerasjoner på en ikke-standard måte å indikere at ett språk er nyere eller har flere funksjoner enn et annet.
Den første av programmeringsspråkgenerasjoner indikerer maskinkode. Dette betyr å skrive et program som en sekvens av byte eller i ekstreme tilfeller biter som kan eksekveres direkte av en datamaskin. I de fleste tilfeller refererer dette til et system som aksepterer inngang gjennom hardkodede brytere eller andre fysiske mekanismer.
Andre generasjons programmeringsspråk anses for å være samlingsstil. Dette er språk som er skrevet med menneskelig lesbar kode og kommandoer som fremdeles er knyttet til spesifikke systemarkitekturer, men har et lettere utviklingsmiljø og en viss abstraksjon. Fra 2011 ble det ikke sluttet å bruke forsamlingsspråk, og de er ikke bare ekstremt kraftige, men kan også brukes som inline-uttalelser i programmeringsspråk på høyere nivå, noe som gjør usant forestillingen om at generasjonen av et språk tilsvarer dets hastighet eller kraft.
Tredje generasjons programmeringsspråk koblet fra koden fra prosessoren i enda større grad, noe som muliggjorde utvikling av kode som brukte mer lesbare utsagn. I tillegg ble det utviklet kompilatorer som kunne gjøre en enkelt kodelinje om til flere monteringserklæringer på flere plattformer og til slutt til flere titalls eller flere maskinkodeinstruksjoner. Nesten alle dataspråk som kan samle innfødte binære kjørbare filer og biblioteker regnes som tredje generasjonsspråk.
Generelt blir et fjerde generasjonsspråk sett på som et språk som er ment å bruke en slags programmeringsspråk som er veldig naturlig for brukeren. Det kan også defineres som et språk som bruker visuelle elementer for å bygge det endelige programmet. En tredje definisjon er et programmeringsspråk som er bygget for et bestemt formål, for eksempel et databaseprogrammeringsspråk eller et raskt applikasjonsutviklingsspråk (RAD).
En løs definisjon av et femte generasjons dataspråk er en som lar en programmerer presentere datamaskinen et problem som den deretter prøver å løse. De fleste språk som er oppført som femte generasjonsspråk, er for det meste akademiske. Andre programmeringsspråkgenerasjoner, for eksempel sjette og syvende, er blitt brukt av kommersielle språkutviklere til markedsføringsformål.