Högnivå vs Medium vs Lågnivåprogrammering: Användningar och skillnader

Högnivå vs Medium vs Lågnivåprogrammering

Idag finns det många programmeringsspråk , några lättare och mer tillgängliga och andra mer komplexa. Maskiner förstår dock bara ett språk: binärt. Programmering i binär är något omöjligt och omöjligt, särskilt med tanke på Komplexiteten av dagens maskiner. Men i dag har databehandling inte utvecklats så mycket att man kan programmera med naturligt språk; vi är vid mittpunkten och beroende på hur nära eller långt vi är från maskinspråket vi kan prata om olika nivåer av programmering : hög, medium eller låg.

I slutändan spelar det ingen roll (i citat) vilket programmeringsspråk vi använder, eftersom allt måste gå igenom en kompilator som genererar den binära filen, den körbara filen, som är den som maskinen bearbetar. Beroende på vilken typ av programmering vi använder och syftet med vårt projekt kan vi dock vara mer intresserade av att använda en eller annan språknivå. Vad är skillnaden mellan dem?

Programmering på låg nivå: prata med maskinen

Programación de bajo nivel

Programmering på låg nivå är en vars instruktioner ligger mycket nära maskinspråket. Programmen är utformade för att fungera med specifik hårdvara, eftersom instruktionerna är utformade för en specifik arkitektur. Om vi ​​skriver ett program på låg nivå och tar det till en annan maskin kommer det inte att känna igen det eftersom det inte är kompatibelt med instruktionerna.

Den huvudsakliga Fördelen av dessa programmeringsspråk är deras prestanda. Eftersom ingenting behöver tolkas eller kompileras körs koden som på hårdvaran, vilket undviker mellanhänder. Men bland dess nackdelar , förutom deras komplexitet, måste vi lyfta fram inkompatibiliteten mellan plattformar, även om vi måste återskapa programmet från grunden om vi vill använda det på en annan maskin.

Programmeringsspråk på låg nivå interagerar direkt med hårdvara utan ytterligare kompilatorer eller tolkar, vilket gör att vi kan uppnå bättre prestanda. Detta var (till exempel) den typ av programmering som användes på stanskort. Instruktionerna skickas direkt till utrustningen binär (första generationen), eller använder ett något mer välbekant språk, t.ex. assembler (andra generationen), som består av förkortningar som ADD, DIV eller SUB. Idag används denna typ av programmering bara för att underhålla förrsystemen, ingen skulle tänka sig att skapa ett nytt projekt på lågnivåspråk.

Mellannivåprogrammering: hårdvaruåtkomst med ”naturligt” språk

Programación de medio nivel

Mellanspråk är också mycket gamla språk, men de var de första som föddes som ett resultat av utvecklingen av språk på låg nivå. Dessa språk finns någonstans i mitten mellan lågnivå- och högnivåspråk, för även om de använder relativt enkla och naturliga instruktioner, har programmeraren tillgång till hårdvaran i på samma sätt som språk på låg nivå. På detta sätt kan program komma åt systemregistren och programmeraren kan arbeta med minnesadresser.

Även om ett mycket mer naturligt språk används än binärt eller själva monteraren, med enkla instruktioner och inte kräver komplexa tolkar, uppnås prestanda som liknar de för lågnivåprogram.

Fördelarna med språk på denna nivå är att de är mycket enklare och mer naturligt än maskinspråk, så att du kan skapa komplexa program snabbare och enklare. Eftersom den inte är på en mycket hög nivå är dessutom prestandaförlusten minimal och den har tillgång till systemregistren och dess medel (genom minnepekare). Det tillåter dock inte skapandet av dynamiska strukturer eller är orienterat mot objekt eller händelser.

C är till exempel det mest representativa programmeringsspråket på mellannivå. Även om det i allmänhet anses vara högnivå har det faktiskt typiska egenskaper för ett lågnivåspråk, som att kunna använda bokstäver som om de vore siffror (det skiljer inte), och användningen av pekare som är väsentliga för genomförandet av hash och algoritmer. Ett annat exempel på ett mellanspråk är Grundläggande .

Språk på hög nivå: att tala med en viss naturlighet

Programación de alto nivel

Även om programmering låter lite komplicerat för många är det i verkligheten idag väldigt enkelt och med några grundläggande föreställningar kan vem som helst skapa sitt eget program. Detta är möjligt tack vare högnivå programmeringsspråk, språk som använder tydliga instruktioner med naturligt språk.

Språk på hög nivå är utformade för att fungera smidigt på alla maskiner, oavsett vilken hårdvara du använder. Detta är möjligt tack vare kompilatorer och tolkar som normalt ingår i operativsystem. Det spelar ingen roll om ett program är programmerat i C ++, .NET, Java eller Python, om koden har gått igenom kompilatorn och vi har nödvändig tolk (som Java virtuella maskin) kan vi köra dem på valfri operativsystem, använd vilken hårdvara du använder.

Dessa programmeringsspråk är framför allt utformade för att arbeta med dynamisk data struktur. Språk på låg nivå och medelnivå kan inte ändra storlek på strukturer medan de körs, vilket kan leda till överdriven resursförbrukning eller problem med mindre storlek. Tack vare dessa dynamiska strukturer kan programmet anpassas till varje systems behov. Dom är objektet , händelse- eller funktionsorienterade språk.

Fördelarna med denna typ av språk är skapandet av en mycket mer naturlig och förståelig kod , ett program är lämpligt för alla maskiner och alla system, det stöder programmeringsparadigmer och gör det möjligt att skapa komplexa program med färre rader. Bland dess nackdelar måste vi naturligtvis framhäva a prestandaförlust av programmen (eftersom de måste tolkas) och att programmen i vissa fall är beroende av specifika plattformar.

Det finns många programmeringsspråk på hög nivå. Vi kan hitta mycket specifika språk (t.ex. Fortran or Cobol ) för att utföra specifika uppgifter eller generiska språk som VS # , C ++ or Visual Basic som är värda lite av allt.