Høynivå vs middels vs lavt nivå programmering: bruksområder og forskjeller

Høyt nivå vs Medium vs Lavt nivå programmering

I dag er det mange programmerings språk , noen lettere og mer tilgjengelige og andre mer komplekse. Imidlertid forstår maskiner bare ett språk: binært. Programmering i binær er noe umulig og umulig, spesielt med tanke på kompleksitet av dagens maskiner. Imidlertid har databehandling i dag ikke utviklet seg så mye at de kan programmere ved hjelp av naturlig språk; vi er i midtpunktet, og avhengig av hvor nær eller langt vi er fra maskinspråket vi kan snakke om forskjellige nivåer av programmering : høy, middels eller lav.

Til slutt spiller det ingen rolle (i anførselstegn) programmeringsspråket vi bruker, siden alt må gå gjennom en kompilator som genererer den binære filen, den kjørbare filen, som er den som maskinen behandler. Avhengig av hvilken type programmering vi bruker, og formålet med prosjektet vårt, kan vi imidlertid være mer interessert i å bruke ett eller annet språknivå. Hva er forskjellen mellom dem?

Programmering på lavt nivå: å snakke med maskinen

Programación de bajo nivel

Programmering på lavt nivå er en hvis instruksjoner er veldig nær maskinens språk. Programmene er designet for å fungere med spesifikk maskinvare, siden instruksjonene er designet for en bestemt arkitektur. Hvis vi skriver et program på et lavt nivå, og tar det med til en annen maskin, vil det ikke gjenkjenne det ettersom det ikke er kompatibelt med instruksjonene.

Den viktigste fordel av disse programmeringsspråkene er deres ytelse. Ettersom ingenting må tolkes eller kompileres, blir koden utført som på maskinvaren, og det unngås mellomledd. Men blant dens ulemper I tillegg til deres kompleksitet, må vi markere inkompatibiliteten mellom plattformer, til og med å måtte gjenskape programmet fra bunnen av hvis vi vil bruke det på en annen maskin.

Programmeringsspråk på lavt nivå samhandler direkte med maskinvare uten ekstra kompilatorer eller tolker, slik at vi kan oppnå bedre ytelse. Dette var (for eksempel) den typen programmering som ble brukt på hullkort. Instruksjonene sendes til utstyret direkte i binære (første generasjon), eller bruker et noe mer kjent språk, som f.eks assembler (andre generasjon), sammensatt av forkortelser som ADD, DIV eller SUB. I dag brukes denne typen programmering bare til å vedlikeholde systemene fra tidligere, ingen ville tenke seg å lage et nytt prosjekt på lavnivåspråk.

Midt-nivå programmering: maskinvaretilgang med “naturlig” språk

Programación de media nivel

Språk på mellomnivå er også veldig gamle språk, men de var de første som ble født som et resultat av utviklingen av språk på lavt nivå. Disse språkene er et sted midt mellom språk på lavt nivå og høyt nivå fordi, selv om de bruker relativt enkle og naturlige instruksjoner, har programmereren tilgang til maskinvaren i samme måte som språk på lavt nivå. På denne måten kan programmer få tilgang til systemregistrene, og programmereren kan jobbe med minneadresser.

Selv om det brukes et mye mer naturlig språk enn binært eller selve samleren, oppnås ytelse som ligner på programmer på lavt nivå ved å bruke enkle instruksjoner og ikke krever komplekse tolker.

Fordelene med språk på dette nivået er at de er mye enklere og mer naturlig enn maskinspråk, slik at du kan lage komplekse programmer raskere og enklere. I tillegg, siden det ikke er på et veldig høyt nivå, er ytelsestapet minimalt, og det har tilgang til systemregistrene og dets ressurser (gjennom minnepekere). Imidlertid tillater det ikke oppretting av dynamiske strukturer eller er orientert mot objekter eller hendelser.

C er for eksempel det mest representative programmeringsspråket på mellomnivået. Selv om det generelt regnes som høyt nivå, har det faktisk typiske egenskaper ved et språk på lavt nivå, for eksempel å kunne bruke bokstaver som om de var tall (det skiller ikke ut), og bruk av pekere som er viktig for implementeringen. av hashes og algoritmer. Et annet eksempel på et mellomnivåspråk er Basic .

Språk på høyt nivå: snakke med en viss naturlighet

Programación de alto nivel

Selv om programmering høres litt komplisert ut for mange, er det i virkeligheten i dag veldig enkelt, og med noen få grunnleggende forestillinger kan noen lage sitt eget program. Dette er mulig takket være høyt nivå programmeringsspråk, språk som bruker klare instruksjoner som bruker naturlig språk.

Språk på høyt nivå er designet for å kjøre problemfritt på alle maskiner, uavhengig av maskinvaren du bruker. Dette er mulig takket være kompilatorer og tolker som normalt er inkludert i operativsystemene. Det spiller ingen rolle om et program er programmert i C ++, .NET, Java eller Python, hvis koden har gått gjennom kompilatoren, og vi har den nødvendige tolk (for eksempel den virtuelle Java-maskinen), kan vi utføre dem på alle operativsystem, bruk hvilken maskinvare du bruker.

Disse programmeringsspråkene er designet, fremfor alt, til jobbe med dynamisk datastrukturer. Språk på lavt og mellomnivå kan ikke endre størrelse på strukturer mens de kjører, noe som kan føre til overdreven ressursforbruk eller problemer med for liten størrelse. Takket være disse dynamiske strukturene kan programmet tilpasses behovene til hvert system. De er objekt , hendelses- eller funksjonsorienterte språk.

Fordelene med denne typen språk er opprettelsen av en mye mer naturlig og forståelig kode , er et program egnet for enhver maskin og ethvert system, det støtter programmeringsparadigmer og tillater opprettelse av komplekse programmer med færre linjer. Blant ulempene må vi selvsagt fremheve a tap av ytelse av programmene (siden de må tolkes) og at programmene i noen tilfeller er avhengige av spesifikke plattformer.

Det er mange programmeringsspråk på høyt nivå. Vi kan finne veldig spesifikke språk (for eksempel Fortran or cobol ) for å utføre spesifikke oppgaver, eller generiske språk som C# , C ++ or Visual Basic som er verdt litt av alt.