Språk på hög nivå vs Språk på låg nivå (Infographics) - eduCBA

Innehållsförteckning:

Anonim

Bildkälla: pixabay.com

Jag har skrivit den här bloggen med tanke på att människor som kommer att läsa detta är absoluta nybörjare. Människor som har en bakgrund som, jag menar att inte en teknisk bakgrund faktiskt skulle ha svårt att börja lära sig programmering när det inte finns någon att vägleda dem. Således har jag skrivit den här bloggen som en artighet för dem. Så när vi talar om språk, vad är exakt språk på hög nivå och språk på låg nivå? Varför kallas de till och med för det? Och hur mycket skiljer de sig från varandra?

Naturligtvis har jag täckt dem alla i den här bloggen.

Hög nivå vs Låg nivå Infographics

Vad är högnivåspråk?

Du måste vara sak Vad är språk på hög nivå? men säger mig att de är enklare att förstå och är användarvänliga. Med hjälp av dessa språk kan man skriva applikationer som är portabla över olika plattformar (som Linux eller Windows) och är oberoende av alla arkitekturer (t.ex. icke-Intel ARM eller den ökända Intel). Språk på hög nivå Exempel, skriva ett program i python som som standard fungerar i alla Linux-system, sedan bara kompilera det till alla exe med py2exe och sedan köra det på windows.

Liknande exempel är Python, C, Fortran eller Pascal. Sådana språk betraktas som högnivåspråk eftersom de är närmare mänskliga språk och mycket längre från maskinspråk. När jag säger mänskligt språk, menar jag inte det vi pratar i vårt dagliga liv. Det betyder att koden är något vi kan förstå genom att känna till några grunder i programmering. Koden som skrivs är nästan läsbar av människor, något som kan läsas och uttalas.

Följande är några exempel på maskinspråk för att skriva ut ett enkelt program på skärmen i Fortran och C.

I Fortran:

program NewProgramF90

write(*, *) "This is a printed program"

end program NewProgramF90

Nu kan du kompilera det med:

gfortran newprogram.f90 -o newprogram -f90-gcc

Och sedan bara köra det.

Liknande program i C:

#include

main()

(

printf("This is a printed program");

)

För rena nybörjare är detta det enklaste det kan få.

Men eftersom vi talar om datorer är det svårt att förstå för en dator. Så för att göra detta förnuftigt för datorer och köra ett program skapat med högspråk måste det sammanställas till maskinspråk.

Bildkälla: github.com

Och det är här språk på låg nivå kommer in emellan. Till skillnad från tidigare, där det bara fanns några få högnivåspråk, finns det idag ett antal högnivåspråk som C, Cobol, FORTRAN, Pascal, Java, Perl, Python, PHP, Ruby, C ++, BASIC och Visual Basic .

Vad är språk på låg nivå?

Lågnivåspråk de språk som är extremt nära maskinspråket. De är också kända som församlingsspråk. De närmaste språken efter montering till maskinspråk är C och C ++. Vissa människor till och med kallar C och C ++ som språk på låg nivå. Maskinkod kallas låg nivå eftersom den till skillnad från högspråkiga programmeringsspråk inte behöver något annat som kompilatorer eller något. Det körs direkt på processorn och de är extremt specifika för arkitekturen.

Lågenivåspråk är mer lämpliga för att utveckla nya operativsystem eller skriva firmwarekoder för mikrokontroller. De kan göra vad som helst med lite hårt arbete (faktiskt mycket hårt arbete för att vara specifikt), men uppenbarligen vill du inte skriva något större program i det. Liknande är fallet med C (kallas faktiskt som Cee). C är faktiskt ett mycket stort språk att börja med. Det låter dig registrera dig direkt och ge direktåtkomst till olika minnesplatser.

Men samtidigt har det också en hel del konstruktioner som gör att hårdvaran kan ladda abstraktion. Ärligt talat, C och C ++ representerar dually olika språk, eftersom de flesta språk har tagit dess bibliotek från dem. I praktiken är både C och C ++ lågnivå, som jag sa tidigare, eftersom det är ganska svårt att skriva applikationer på företagsnivå. Men teoretiskt sett är båda faktiskt högnivåspråk.

Rekommenderade kurser

  • Professionell IT-säkerhetskurs
  • Ruby on Rails Training Bundle
  • Professionell CSS-kurs
  • Online HTML5- och CSS3-kurs

Egenskaper för språk på hög nivå och låg nivå:

Nu är saken att jag då och då har frågats i olika intervjuer och andra platser som jag gillar den bästa - låga nivån eller hög nivå programmering. Det verkar för mig att det inte finns något sådant som det bästa. Svaret är att de båda har sin egen specialitet och att du inte kan ersätta en för den andra. Således gillar jag faktiskt båda.

Programmering på låg nivå är utmanande och kräver mycket erfarenhet och kunskap. Funktioner på högnivåspråk är där alla kreativa saker äger rum, dvs applikationer som människor använder i sitt dagliga liv och det kan felsöks på ett mycket enklare sätt än på låg nivå. Och här kan du börja arbeta med extremt ny teknik eftersom många av dessa språk kontinuerligt uppgraderas på grund av samhällsstöd.

Om du ifrågasätter detta till någon högnivå språkkodare vad de vill, är svaret du får långt ifrån vad du behöver. De säger inte vad som är bättre.

De kommer förmodligen att säga att de brinner mer för ett specifikt språk på hög nivå och inte alla. Jag vet inte att detta händer. De mest kända exemplen är Python och Ruby, och om du visar dem några program skrivna i montering, kommer förmodligen att gå hasta-la-vista.

Bildkälla: mathworks.com

Det som faktiskt är fantastiskt med många högnivåspråk är att de faller i hybridkategori. Till exempel är python extremt objektorienterad, men samtidigt stöder den också stängningar och förstklassiga funktioner. Även om det inte är lika kraftfullt som Scala, men det har förmågan att representera mer eller mindre saker som i ett rent språk.

Språk på hög nivå är vanligtvis långsamma jämfört med språk på låg nivå. Detta beror på att högnivåspråk har många abstraktioner och kodlager innan de når själva hårdvaran, medan eftersom maskinkoden är närmare, är det snabbt att bearbeta och returnera utdata. En kodkod i Python blir troligen översatt i tusentals rader med maskinord.

Naturligtvis är högnivåspråk i nivå där råprestanda är onödigt, eftersom du inte kan utveckla lika stabila och stora applikationer på låg nivå som på hög nivå. Detta är en sak som är värd att komma ihåg.

C-programmering - Förvirring på låg nivå / hög nivå

Även om C har många egenskaper som liknar Pascal-språket, betraktas det ibland fortfarande som ett lågnivåspråk, eftersom det stöder funktioner för bitar, pekare och direkt tillgång till minne. C är faktiskt ett högnivåspråk med inkluderande funktioner på låg nivå. Detta är det främsta skälet till att programmerare är beroende av C över allt för dess oslagbara egenskaper.

Det kan tyckas konstigt att C, även om det behandlas som ett lågt språk, är extremt bärbart. Fanatiskt sett utvidgas C faktiskt till att använda hårdvara vid dess extrema gränser som möjligt.

Församlingsspråk är å andra sidan knappast bärbara. Att försöka uppnå portabilitet är dock en stor sak när det gäller låg nivå, särskilt när det gäller Java, som körs på en JVM, dvs. en virtuell maskin. C eller montering som körs i en VM har aldrig ren åtkomst till hårdvaran.

För att vara mer exakt blir ett språk en låg nivå om det är specifikt strukturerat för att köras direkt på hårdvaran. Lågenivåspråk har mycket mindre syntax, till skillnad från högnivåspråk som har massor av koder.

Språk på låg nivå som tillåter full tillgång till hårdvaran skulle faktiskt vara ett dåligt val att skriva projekt.

När ska du använda låg nivå?

En maskinkod ser ut så här, som kör extremt snabbt eftersom den är mycket nära hårdvaran.

8B542408 83FA0077 06B80000 0000C383

FA027706 B8010000 00C353BB 01000000

B9010000 008D0419 83FA0376 078BD98B

C84AEBF1 5BC3

Ovan här är en funktion skriven för en 32-bitars arkitektur, dvs x86 maskinkod för att beräkna Fibonacci-talet.

Att skriva maskinkod är otvivelaktigt ganska irriterande eftersom det kräver kontroll av sifferkoder då och då för alla andra instruktioner som körs. Vem pokker har tid för det? Och det är anledningen till att lågnivåprogrammering föddes.

Men om du frågar om programmering på låg nivå till programmerare på hög nivå, är svaret du skulle få:

Bildkälla: pixabay.com

Slutsats

Lågenivåspråk har en extra fördel att de förlorar kontrollen över CPU men deras koder är extremt svåra att förstå och felsöka av andra programmerare. Varje annan arkitekturfamilj har sin egen uppsättning av samlingsspråk, vilket innebär att kod som är skriven för en är omöjlig att köra på den andra. Vilket kort sagt betyder att koden inte är bärbar.

Fördelarna med högnivåspråk är att språk på hög nivå är å andra sidan extremt bärbara och de används mest för att skriva programvara som kan köras på flera plattformar och arkitekturer. Ingen av dem kan ersätta varandra eftersom de två är två sidor av samma mynt.

Rekommenderade artiklar

Här är några artiklar som hjälper dig att få mer information om språk på hög nivå kontra språk på låg nivå så bara gå igenom länken.

  1. Viktigaste tips Haskell programmeringsspråk
  2. HTML5 och Flash - Hitta skillnaderna
  3. Textbrytning kontra naturligt språkbearbetning - Topp 5 jämförelser
  4. 12 bästa stegen för att installera R-programmeringsspråk (snabbguide)
  5. 8 bästa språket för mobilapp som du bör veta
  6. Viktiga saker att veta om Haskell programmeringsspråk