Hög nivå vs Lågnivå Programmeringsspråk: Vad ska du lära dig?

Vad exakt är hög nivå och låg nivå programmeringsspråk? Och vad betyder det för att lära sig att skriva kod? Låt oss börja med definitionerna av varje och gå därifrån.

Vad exakt är hög nivå och låg nivå programmeringsspråk?  Och vad betyder det för att lära sig att skriva kod?  Låt oss börja med definitionerna av varje och gå därifrån.
Annons

När du försöker lista ut vilket programmeringsspråk som ska lära dig 6 enklaste programmeringsspråk att lära dig för nybörjare 6 enklaste programmeringsspråk att lära dig för nybörjare Att lära dig att programmera handlar om att hitta rätt språk lika mycket som det handlar om uppbyggnadsprocessen. Här är de sex bästa enklaste programmeringsspråk för nybörjare. Läs mer, du kommer sannolikt att komma överens med termerna "hög nivå" och "låg nivå". Folk pratar hela tiden på högnivå och lågnivå programmeringsspråk.

Men vad betyder det egentligen? Och vad betyder det för att lära sig att skriva kod? Låt oss börja med definitionerna av varje och gå därifrån.

"Högre" och "Nedre Nivå" Programmeringsspråk

I hela denna artikel talar jag om "hög" och "låg" nivå språk. Men det finns inga specifika kvalifikationskriterier för heller. Därför talar jag också om "högre" och "lägre" nivåer.

Tänk bara på att det beror till stor del på ditt perspektiv. Om du är en C-programmerare, kanske Java verkar ganska hög nivå. Om du är van vid Ruby kan Java tyckas som ett språk på låg nivå.

Maskinkod och lågnivå språk

Om ett språk anses vara på hög nivå eller låg nivå (eller någonstans i mitten) handlar det om abstraktion. Maskinkoden har ingen abstraktion - den innehåller de enskilda instruktionerna som skickats till en dator. Och eftersom maskiner endast handlar i siffror, är de representerade i binära (även om de ibland skrivs i decimal eller hexadecimal notering).

Här är ett exempel på maskinkod (via Wikipedia):

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

I maskinkod måste operationer anges exakt. Till exempel, om en bit av information behöver hämtas från minnet, måste maskinkoden berätta för datorn där den finns i minnet för att hitta den.

Att skriva direkt i maskinkod är möjligt, men mycket svårt.

Programmeringsspråk på låg nivå lägg till lite abstraktion till maskinkoden . Denna abstraktion döljer specifika maskinkodsinstruktioner bakom deklarationer som är mer mänskliga läsbara. Monteringsspråk är språk på lägsta nivå bredvid maskinkoden.

I maskinkod kan du skriva något som "10110000 01100001" - men ett monteringsspråk kan förenkla det till " MOV AL, 61h ". Det finns fortfarande en nästan en-till-en korrespondens mellan vad som skrivs på monteringsspråket och instruktionerna som skickas till maskinen.

binär kod
Bildkrediter: extradeda / Depositionfoton

Att flytta till mer populära programmeringsspråk kommer du till något som C Egenskaper för C-programmering som gör den unik (och bättre) Egenskaper för C-programmering som gör den unik (och bättre) C-programmeringsspråket är modern för all modern programmering språk. Nästan alla språk som används idag innehåller flera funktioner som först uppträdde på C-språket. Läs mer . Medan inte så låg som ett monteringsspråk finns det fortfarande en stark korrespondens mellan vad som skrivs i C och maskinkoden. De flesta operationer som skrivs i C kan slutföras med ett litet antal instruktioner för maskinkod.

Programmeringsspråk på hög nivå

Precis som språk på lägre nivå täcker högre nivå ett brett spektrum av abstraktion. Vissa, som Java (som du kan argumentera är faktiskt ett programmeringssprog i mitten ), ger dig fortfarande mycket kontroll över hur datorn hanterar minne och data .

Andra, som Ruby och Python, är mycket abstrakta. De ger dig mindre tillgång till de lägre funktionerna, men syntaxen är mycket lättare att läsa och skriva. Du kan gruppera saker ihop i klasser, vilket ärar egenskaper så att du bara måste förklara dem en gång.

javascript-kod
Bildkredit: Mikrologi / Depositionfoton

Variabler, föremål, rutiner och loopar är alla viktiga delar på högnivå språk. Dessa och andra begrepp hjälper dig att berätta för maskinen att göra många saker med korta, korta uttalanden.

Om ett monteringsspråk har en nästan en-till-en-korrespondens mellan kommandon och maskinkodkommandon kan ett språk på högre nivå kunna skicka dussintals kommandon med en enda kodrad.

Det är viktigt att notera att "högnivå programmeringsspråk" kan innehålla allt som är mer abstraherat än ett monteringsspråk. Det beror på vem som diskuterar ämnet. Så när du pratar eller läser om språk, se till att du är på samma sida.

Ska du lära dig ett låg- eller högnivå språk?

Detta är säkert en vanlig fråga bland nya och ambitiösa programmerare. Är programmeringsspråk på hög eller låg nivå bättre? Såsom är fallet med många programmeringsfrågor är frågeställningen på hög nivå vs. lågnivå programmeringsspråk inte så enkel.

Båda typer av språk har viktiga fördelar . Lågnivå språk, eftersom de kräver lite tolkning av datorn, går i allmänhet väldigt snabbt Varför är vissa programmeringsspråk snabbare än andra? Varför är vissa programmeringsspråk snabbare än andra? Det finns många programmeringsspråk där ute. De har alla individuella quirks, som används för olika saker. Men vad gör ett programmeringsspråk snabbare än en annan? Läs mer . Och de ger programmerare mycket kontroll över datalagring, minne och hämtning.

Språk på hög nivå är dock intuitivt lättare att förstå, och låter programmerare skriva kod mycket mer effektivt. Dessa språk anses också vara "säkrare", eftersom det finns fler skyddsåtgärder som håller kodare från att utfärda dåligt skrivna kommandon som kan orsaka skador. Men de ger inte programmerare lika mycket kontroll över lågnivåprocesser.

Med tanke på det här är ett urval av populära språk på en skala från låg till hög:

  • C
  • C ++
  • java
  • C #
  • Perl
  • Läspa
  • JavaScript
  • Pytonorm
  • Rubin
  • SQL

Naturligtvis är detta delvis subjektivt. Och det innehåller bara ett litet tvärsnitt av de språk som finns tillgängliga.

Men det borde ge dig en uppfattning om var de språk du är intresserade av faller på skalan.

Vad vill du göra?

När du bestämmer vad du vill lära dig, bör din första fråga vara vad du vill programmera .

Om du vill skriva operativsystem, kärnor eller allt som behöver köras med absolut högsta möjliga hastighet, kan ett lägre språk vara ett bra val. Mycket av Windows, OS X och Linux är skrivna i C och C-härledda språk som C ++ och Objective-C.

Många moderna appar skrivs på högre nivå eller till och med domänspecifika språk. Python och Ruby är särskilt populära för webbapps Hur väljer man rätt webbprogrammeringsspråk att använda Hur man väljer rätt webbprogrammeringsspråk att använda Varför ska vissa språk väljas över andra i ett visst scenario? Denna artikel kommer att ge en lista över frågor som programmeraren ska fråga för att välja vilket språk som ska användas. Läs mer, men HTML5 blir allt starkare. Språk som Swift, C #, JavaScript och SQL har alla sina egna styrkor och svagheter.

Överväga att lära sig båda

Jag har nyligen läst en tråd om denna mycket fråga på ett programmeringsforum och kom över ett intressant förslag: lära dig båda på en gång . Du får en djupare förståelse för de typer av abstraktioner som gör språket på högre nivå effektivare.

Naturligtvis är det inte lätt att lära sig två språk samtidigt 7 Användbara tricks för att behärska ett nytt programmeringsspråk 7 Användbara tricks för att behärska ett nytt programmeringsspråk Det är okej att vara överväldigad när du lär dig att koda. Du kommer noga att glömma saker så fort du lär dig dem. Dessa tips kan hjälpa dig att bättre behålla all den nya informationen. Läs mer, så du kanske vill stagga dem lite. Och att välja två språk som liknar kan vara till hjälp också.

Återigen går vi tillbaka till den punkt jag tog upp förut: Välj ett språk baserat på vad du vill bygga . Gör lite forskning för att ta reda på vilka språk människor i ditt fält använder. Använd sedan informationen för att välja ett språk på hög- och lågnivå och börja studera dem.

Du ser snart parallellerna och du får en mycket djupare förståelse för hur programmeringen fungerar.

Fokusera på mål, inte medel

Det finns många kriterier du kan använda för att välja ett programmeringsspråk. Hög-vs. låg nivå är en av dem. Men i nästan alla fall är de kriterier du ska använda det du vill programmera .

Ditt projekt kan dra nytta av ett lågnivå språk. Eller det kan vara mycket effektivare på en hög nivå. Nyckeln är att välja rätt verktyg för jobbet. Fokusera på ditt mål, och du väljer rätt språk varje gång.

Har du erfarenhet av både hög- och lågnivå språk? Föredrar du en över den andra? Dela dina tankar i kommentarerna nedan!

In this article