Højt niveau vs. Lavt niveau programmeringssprog: Hvad skal du lære?

Hvad er netop højt niveau og lavt programmeringssprog? Og hvad betyder det for at lære at skrive kode? Lad os starte med definitionerne af hver og gå derfra.

Hvad er netop højt niveau og lavt programmeringssprog?  Og hvad betyder det for at lære at skrive kode?  Lad os starte med definitionerne af hver og gå derfra.
Reklame

Når du forsøger at finde ud af, hvilket programmeringssprog du skal lære 6 Nemmeste programmeringssprog til at lære for begyndere 6 Nemmeste programmeringssprog til at lære for begyndere At lære at programmere handler om at finde det rigtige sprog lige så meget som det handler om opbygningsprocessen. Her er de seks bedste nemmeste programmeringssprog for begyndere. Læs mere, du vil sandsynligvis komme på tværs af vilkårene "højt niveau" og "lavt niveau." Folk taler hele tiden om programmeringssprog på højt niveau og lavt niveau.

Men hvad betyder det egentlig? Og hvad betyder det for at lære at skrive kode? Lad os starte med definitionerne af hver og gå derfra.

"Højere" og "Nedre-niveau" programmeringssprog

I hele denne artikel vil jeg tale om "højt" og "lavt" niveau sprog. Men der er heller ingen specifikke kvalifikationskriterier . Derfor snakker jeg også om "højere" og "lavere" niveauer.

Bare husk på, at det afhænger stort set af dit perspektiv. Hvis du er en C-programmør, kan Java virke ret højt. Hvis du er vant til Ruby, kan Java virke som et sprog på lavt niveau.

Maskinkode og lavt niveau sprog

Om et sprog betragtes som højt eller lavt niveau (eller et sted i midten) handler alt om abstraktion. Maskinkoden har ingen abstraktion - den indeholder de enkelte instruktioner, der sendes til en computer. Og fordi maskiner kun omhandler tal, er de repræsenteret i binære (selv om de undertiden er skrevet i decimal eller hexadecimal notation).

Her er et eksempel på maskinkode (via Wikipedia):

8B542408 83FA0077 06B80000 0000C383 FA027706 B8010000 00C353BB 01000000 B9010000 008D0419 83FA0376 078BD989 C14AEBF1 5BC3 

I maskinkode skal operationer angives nøjagtigt. For eksempel, hvis et stykke information skal hentes fra hukommelsen, skal maskinens kode fortælle computeren, hvor den er i hukommelsen for at finde den.

At skrive direkte i maskinkoden er mulig, men meget vanskelig.

Programmeringssprog på lavt niveau tilføjer en smule abstraktion til maskinkoden . Denne abstraktion skjuler specifikke maskinkode instruktioner bag erklæringer, der er mere menneskelige læsbare. Samlingssprog er de laveste sprog ved siden af ​​maskinkoden.

I maskinkode kan du skrive noget som "10110000 01100001" - men et samlingssprog kan forenkle det til " MOV AL, 61h ". Der er stadig en næsten en-til-en korrespondance mellem, hvad der er skrevet på forsamlingssproget og instruktionerne overført til maskinen.

binær kode
Billedkredit: Udvidet / Depositum

Flytning til mere populære programmeringssprog, vil du komme til noget som C Karakteristik af C Programmering, der gør den unik (og bedre) Karakteristik af C-programmering, der gør den unik (og bedre) C-programmeringssproget er moderen til al moderne programmering Sprog. Næsten alle sprog, der anvendes i dag, indeholder flere funktioner, som først blev vist på C-sproget. Læs mere . Selvom det ikke er så lavt som et samlingssprog, er der stadig en stærk korrespondance mellem, hvad der er skrevet i C og maskinens kode. De fleste operationer, der er skrevet i C, kan udfyldes med et lille antal maskinkodeinstruktioner.

Programmeringssprog på højt niveau

Ligesom sprog på lavere niveau dækker de højere niveauer et bredt spektrum af abstraktion. Nogle, som Java (som du kunne argumentere for, er faktisk et programmeringssprog i midten ), giver dig stadig meget kontrol over, hvordan computeren håndterer hukommelse og data .

Andre, som Ruby og Python, er meget abstrakte. De giver dig mindre adgang til disse funktioner på lavere niveau, men syntaksen er meget lettere at læse og skrive. Du kan gruppere tingene sammen i klasser, som arver karakteristika, så du kun skal erklære dem en gang.

javascript kode
Billedkredit: Mikrologi / Depositobilleder

Variabler, objekter, rutiner og sløjfer er alle vigtige dele af sprog på højt niveau. Disse og andre koncepter hjælper dig med at fortælle maskinen at gøre mange ting med korte, præcise udtalelser.

Hvor et samlesprog har en næsten en til en korrespondance mellem kommandoer og maskinkode kommandoer, kan et sprog på højere niveau være i stand til at sende snesevis af kommandoer med en enkelt kode kode.

Det er vigtigt at bemærke, at "højt programmeringssprog" kan omfatte alt, hvad der er mere abstrakt end et samlingssprog. Det afhænger af, hvem der diskuterer emnet. Så når du taler eller læser om sprog, skal du sørge for at du er på samme side.

Skal du lære et lavt eller højt niveau sprog?

Dette er helt sikkert et fælles spørgsmål blandt nye og håbende programmører. Er programmeringssprog på højt eller lavt niveau bedre? Som det er tilfældet med mange programmeringsspørgsmål, er spørgsmålet om højniveau vs. lavt niveau programmeringssprog ikke så ligetil.

Begge typer sprog har vigtige fordele . Lavt niveau sprog, fordi de kræver lidt fortolkning af computeren, kører generelt meget hurtigt Hvorfor er nogle programmeringssprog hurtigere end andre? Hvorfor er nogle programmeringssprog hurtigere end andre? Der er mange programmeringssprog derude. De har alle individuelle quirks, der bruges til forskellige ting. Men hvad gør et programmeringssprog hurtigere end et andet? Læs mere . Og de giver programmerere meget kontrol over datalagring, hukommelse og hentning.

Højt niveau sprog er imidlertid intuitivt lettere at forstå, og lad programmører skrive kode meget mere effektivt. Disse sprog anses også for at være "sikrere", da der er flere sikkerhedsforanstaltninger, der holder kodere fra at udstede dårligt skrevne kommandoer, der kan forårsage skade. Men de giver ikke programmører så meget kontrol over lavt niveau processer.

Med dette i betragtning er her et udvalg af populære sprog på en skala fra lav til høj:

  • C
  • C ++
  • Java
  • C #
  • Perl
  • lisp
  • JavaScript
  • Python
  • Rubin
  • SQL

Selvfølgelig er dette delvist subjektivt. Og det omfatter kun et lille tværsnit af de sprog, der er tilgængelige.

Men det skal give dig en ide om, hvor de sprog, du er interesseret i at falde på skalaen.

Hvad vil du lave?

Når du beslutter dig for hvad du vil lære, skal dit første spørgsmål være det, du vil programmere .

Hvis du ønsker at skrive operativsystemer, kerner eller noget, der skal køre i absolut højeste hastighed, kan et sprog på lavere niveau være et godt valg. Meget af Windows, OS X og Linux er skrevet i C og C-afledte sprog som C ++ og Objective-C.

Mange moderne apps er skrevet på højere niveau eller endda domæne-specifikke sprog. Python og Ruby er især populære for webapps Hvordan vælger man det rigtige webprogrammeringssprog at bruge Hvordan vælger man det rigtige webprogrammeringssprog at bruge Hvorfor skal visse sprog vælges over andre i et givet scenario? Denne artikel vil give en tjekliste over spørgsmål, som programmøren skal spørge for at vælge hvilket sprog der skal bruges. Læs mere, selvom HTML5 bliver mere og mere magtfuld. Sprog som Swift, C #, JavaScript og SQL har alle deres egne styrker og svagheder.

Overveje at lære begge

Jeg har for nylig læst en tråd om dette meget spørgsmål på et programmeringsforum og kom på tværs af et interessant forslag: lær begge på én gang . Du får en dybere forståelse af de typer af abstraktioner, der gør sprog på højere niveau mere effektivt.

Selvfølgelig er det ikke nemt at lære to sprog på en gang. 7 Nyttige tricks til at mestre et nyt programmeringssprog. 7 Nyttige tricks til at mestre et nyt programmeringssprog Det er okay at være overvældet, når du lærer at kode. Du vil nok glemme ting så hurtigt som du lærer dem. Disse tips kan hjælpe dig med bedre at beholde alle de nye oplysninger. Læs mere, så du ønsker måske at forskyde dem lidt. Og det kan også være nyttigt at vælge to sprog, der ligner hinanden.

Igen går vi tilbage til det punkt, jeg før tog op: Vælg sprog baseret på det, du vil bygge . Gør nogle undersøgelser for at finde ud af, hvilke sprog folk i dit felt bruger. Brug derefter disse oplysninger til at vælge et sprog på høj og lavt niveau og begynde at studere dem.

Du vil snart se parallellerne, og du får en meget dybere forståelse for, hvordan programmering virker.

Fokus på mål, ikke midler

Der er mange kriterier, du kan bruge til at vælge et programmeringssprog. Høj-vs. lavt niveau er en af ​​dem. Men i næsten alle tilfælde er de kriterier, du skal bruge, det, du vil programmere .

Dit projekt kan have gavn af et sprog på lavt niveau. Eller det kan være meget mere effektivt på et højt niveau. Nøglen er at vælge det rigtige værktøj til jobbet. Fokus på dit mål, og du vælger det rigtige sprog hver gang.

Har du erfaring med både høj- og lavniveau sprog? Foretrækker du den ene over den anden? Del dine tanker i kommentarerne nedenfor!

In this article