Bildekilde: pixabay.com
Jeg har skrevet denne bloggen med tanke på at folk som vil lese dette er absolutt nybegynnere. Mennesker som har bakgrunn som, jeg mener ikke akkurat en teknologisk bakgrunn ville faktisk synes det er vanskelig å begynne å lære programmering når det ikke er noen som kan veilede dem. Dermed har jeg skrevet denne bloggen som en høflighet for dem. Så når vi snakker om språk, hva er egentlig språk på høyt nivå og språk på lavt nivå? Hvorfor blir de til og med kalt det? Og hvor mye skiller de seg fra hverandre?
Unødvendig å si at jeg har dekket dem alle i denne bloggen.
Høyt nivå vs Lavnivå språk Infografikk
Hva er språk på høyt nivå?
Du må være ting Hva er språk på høyt nivå? men fortell meg at de er enklere å forstå og er brukervennlige. Ved hjelp av disse språkene kan man skrive applikasjoner som er bærbare på forskjellige plattformer (for eksempel Linux eller Windows) og er uavhengig av hvilken som helst arkitektur (for eksempel ikke-intel ARM eller den beryktede Intel). Språk på høyt nivå Eksempel: å skrive et program i python som som standard fungerer i et hvilket som helst Linux-system, så bare samle det til et hvilket som helst exe ved hjelp av py2exe og deretter kjøre det på windows.
Lignende eksempler er Python, C, Fortran eller Pascal. Slike språk blir sett på som høyt nivå fordi de er nærmere menneskespråk og mye lenger fra maskinspråk. Når jeg sier menneskespråk, mener jeg ikke det vi snakker i vårt daglige liv. Det betyr at koden er noe vi kan forstå ved å kjenne noen grunnleggende i programmering. Koden som er skrevet er nesten lesbar av mennesker, noe som kan leses og uttales.
Følgende er noen eksempler på maskinspråk for å skrive ut et enkelt program på skjermen i Fortran og C.
I Fortran:
program NewProgramF90
write(*, *) "This is a printed program"
end program NewProgramF90
Nå kan du kompilere det ved å bruke:
gfortran newprogram.f90 -o newprogram -f90-gcc
Og så bare kjør den.
Lignende program i C:
#include
main()
(
printf("This is a printed program");
)
For rene nybegynnere er dette den enkleste den kan få.
Men siden vi snakker om datamaskiner, er dette vanskelig å forstå for en datamaskin. Så for å gjøre dette fornuftig for datamaskiner og kjøre et program opprettet med et høyt nivå språk, må det settes sammen til maskinspråk.
Bildekilde: github.com
Og det er her språk på lavt nivå kommer innimellom. I motsetning til tidligere, hvor det bare var noen få høynivåspråk, er det i dag ikke et antall høyt nivåspråk som C, Cobol, FORTRAN, Pascal, Java, Perl, Python, PHP, Ruby, C ++, BASIC og Visual Basic .
Hva er språk på lavt nivå?
Språk på lavt nivå de språkene som er ekstremt nær maskinspråket. De er også kjent som forsamlingsspråk. De nærmeste språkene etter montering til maskinspråk er C og C ++. Noen mennesker kaller til og med C og C ++ som språk på lavt nivå. Maskinkode er kjent som lavt nivå fordi den i motsetning til programmeringsspråk på høyt nivå ikke trenger noe annet som kompilatorer eller noe. Den kjører direkte på prosessoren, og de er ekstremt arkitekturspesifikke.
Språk på lavt nivå er mer passende for å utvikle nye operativsystemer eller skrive firmwarekoder for mikrokontrollere. De kan gjøre hva som helst med litt hardt arbeid (faktisk mye hardt arbeid for å være spesifikke), men tydeligvis vil du ikke ønske å skrive noe større program i det. Tilsvarende er tilfellet med C (faktisk kalt som Cee). C er faktisk et veldig stort språk å begynne med. Det lar deg registrere deg direkte og gi øyeblikkelig tilgang til forskjellige minneplasser.
Men samtidig har den også mange konstruksjoner, som lar maskinvaren laste abstraksjon. Oppriktig, C og C ++ representerer forskjellige språk språk, siden de fleste språk har tatt bibliotekene fra dem. I praksis er både C og C ++ lavt nivå som jeg fortalte deg tidligere fordi det er ganske vanskelig å skrive applikasjoner på bedriftsnivå. Men teoretisk sett er begge disse faktisk språk på høyt nivå.
Anbefalte kurs
- Profesjonelt IT-sikkerhetskurs
- Ruby on Rails Training Bundle
- Profesjonelt CSS-kurs
- Online HTML5 og CSS3-kurs
Kjennetegn på språk på høyt nivå og lavt nivå:
Nå er saken at jeg en gang i blant har blitt spurt om i forskjellige intervjuer og andre steder som jeg liker best - lavt nivå eller høyt nivå programmering. Det synes for meg at det ikke er noe slikt som det beste. Svaret er at de begge har sin egen spesialitet, og du kan ikke erstatte den ene for den andre. Dermed liker jeg faktisk begge deler.
Programmering på lavt nivå er utfordrende og krever mye erfaring og kunnskap. Funksjoner på høyt nivå språk er der alle de kreative tingene finner sted, dvs. applikasjoner som folk bruker i deres daglige liv, og det kan avluses på en mye enklere måte enn på lavt nivå. Og her kan du jobbe med ekstremt nye teknologier siden mange av disse språkene kontinuerlig oppgraderes på grunn av samfunnsstøtte.
Hvis du stiller spørsmål ved dette til språkkodere på høyt nivå om hva de vil, vil svaret du vil motta være langt fra det du trenger. De vil ikke fortelle deg hva som er bedre.
De vil sannsynligvis si at de er mer lidenskapelig opptatt av et spesifikt språk på høyt nivå og ikke alle av dem. Jeg vet ikke at dette skjer. De mest kjente eksemplene er Python og Ruby, og hvis du viser dem noen programmer skrevet i samlingen, vil de sannsynligvis gå hasta-la-vista.
Bildekilde: mathworks.com
Det som faktisk er utmerket med mange høynivåspråk, er at de faller i hybridkategori. For eksempel er python ekstremt objektorientert, men samtidig støtter den også nedleggelser og førsteklasses funksjoner. Skjønt den ikke er så kraftig som Scala, men den har evnen til å representere mer eller mindre ting som på et rent språk.
Språk på høyt nivå er vanligvis tregt sammenlignet med språk på lavt nivå. Dette er fordi høyt nivå språk har mange abstraksjoner og lag med kode før de når selve maskinvaren, mens siden maskinkoden er nærmere, er det faktisk raskt å behandle og returnere utdataene. Ett stykke kode i Python blir mest sannsynlig oversatt i tusenvis av linjer med maskinord.
Selvfølgelig er høyt nivå språk på nivå der råytelse er unødvendig, fordi du ikke kan utvikle like stabile og store applikasjoner på lavt nivå som på høyt nivå. Dette er en ting som er verdt å huske.
C-programmering - Forvirring på lavt nivå / høyt nivå
Selv om C har mange egenskaper som ligner på Pascal Language, blir det noen ganger fortsatt ansett som et språk på lavt nivå, fordi det støtter operasjoner av biter, pekere og direkte tilgang til minne. C er faktisk et høyt nivå språk med inkluderende funksjoner på lavt nivå. Dette er hovedgrunnen til at programmerere er avhengige av C over noe for de uslåelige egenskapene.
Det kan virke rart at C, selv om den behandles som et språk på lavt nivå, er ekstremt bærbar. Fanatisk sett er C faktisk utvidet til å bruke maskinvare på de ekstreme grensene som mulig.
Monteringsspråk er derimot neppe bærbart. Å prøve å oppnå portabilitet er imidlertid en stor sak i tilfelle av lavt nivå, spesielt når det gjelder Java, som kjører på en JVM, dvs. en virtuell maskin. C eller Assembly som kjører i en VM vil aldri ha ren tilgang til maskinvaren.
For å være mer presis, blir et språk et lavt nivå hvis det er spesifikt strukturert for å kjøre direkte på maskinvaren. Språk på lavt nivå har veldig mindre syntaks, i motsetning til språk på høyt nivå som har mange koder.
Språk som er lave nivåer som gir full tilgang til maskinvaren, ville faktisk være et dårlig valg å skrive prosjekter.
Når skal du bruke lavt nivå?
En maskinkode ser noe slik ut, som kjører ekstremt raskt siden den er veldig nær maskinvaren.
8B542408 83FA0077 06B80000 0000C383
FA027706 B8010000 00C353BB 01000000
B9010000 008D0419 83FA0376 078BD98B
C84AEBF1 5BC3
Over her er en funksjon skrevet for en 32-biters arkitektur, dvs. x86 maskinkode for å beregne Fibonacci-tallet.
Å skrive maskinkode er udiskutabelt ganske irriterende fordi det krever å sjekke numeriske koder nå og da for annen instruksjon som kjøres. Hvem pokker har tid til det? Og det er grunnen til at lavnivåprogrammering ble født.
Men hvis du spør om programmering på lavt nivå til programmerere på høyt nivå, er svaret du vil få dette:
Bildekilde: pixabay.com
Konklusjon
Språk på lavt nivå har en ekstra fordel med å gi miste kontrollen over CPU, men kodene deres er ekstremt vanskelige å forstå og feilsøke av andre programmerere. Hver annen arkitekturfamilie har sitt eget sett med samlingsspråk, noe som betyr at kode som er skrevet for den ene er umulig å kjøre på den andre. Noe som kort sagt betyr at koden ikke er bærbar.
Fordelene med høyt nivå språk er at språk på høyt nivå er ekstremt bærbare på den annen side, og de brukes mest til å skrive programvare som kan kjøres på flere plattformer og arkitekturer. Ingen av dem kan erstatte hverandre fordi de to er to sider av den samme mynten.
Anbefalte artikler
Her er noen artikler som vil hjelpe deg med å få mer detaljert informasjon om språk på høyt nivå vs språk på lavt nivå, så bare gå gjennom lenken.
- De viktigste tipsene Haskell programmeringsspråk
- HTML5 og Flash - Finn forskjellene
- Text Mining vs Natural Language Processing - Topp 5 sammenligninger
- 12 beste trinn for å installere R-programmeringsspråk (hurtigveiledning)
- 8 Beste språket for programmering av apper du bør kjenne
- Viktige ting å vite om Haskell programmeringsspråk