Afbeeldingsbron: pixabay.com

Ik heb deze blog geschreven omdat mensen die dit lezen absolute beginners zijn. Mensen met een achtergrond als, ik bedoel, niet bepaald een technologische achtergrond zou het eigenlijk moeilijk vinden om te beginnen met programmeren, als er niemand is om hen te begeleiden. Daarom heb ik deze blog geschreven als hoffelijkheid voor hen. Dus, over talen gesproken, wat zijn precies taal op hoog niveau en taal op laag niveau? Waarom worden ze zo genoemd? En hoeveel verschillen ze van elkaar?

Onnodig te zeggen dat ik ze allemaal in deze blog heb behandeld.

Hoog niveau versus laag niveau talen Infographics

Wat zijn talen op hoog niveau?

Jij moet iets zijn Wat is taal op hoog niveau? maar vertel me dat ze gemakkelijker te begrijpen en gebruiksvriendelijk zijn. Met behulp van deze talen kan men toepassingen schrijven die draagbaar zijn op verschillende platforms (zoals Linux of Windows) en onafhankelijk is van elke architectuur (zoals niet-Intel ARM of de beruchte Intel). Taal op hoog niveau Voorbeeld, een programma schrijven in python dat standaard werkt in elk Linux-systeem, het vervolgens compileren in een exe met py2exe en het vervolgens uitvoeren op Windows.

Vergelijkbare voorbeelden zijn Python, C, Fortran of Pascal. Zulke talen worden beschouwd als taal op hoog niveau omdat ze dichter bij menselijke talen liggen en veel verder van machinetalen. Als ik menselijke taal zeg, bedoel ik niet wat we in ons dagelijks leven spreken. Het betekent dat de code iets is dat we kunnen begrijpen door de basisprincipes van het programmeren te kennen. De geschreven code is bijna leesbaar voor mensen, iets dat kan worden gelezen en uitgesproken.

Hier volgen enkele voorbeelden van machinetaal om een ​​eenvoudig programma op het scherm in Fortran en C af te drukken.

In Fortran:

program NewProgramF90

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

end program NewProgramF90

Nu kunt u het compileren met:

gfortran newprogram.f90 -o newprogram -f90-gcc

En voer het dan gewoon uit.

Soortgelijke programma in C:

#include

main()

(

printf("This is a printed program");

)

Voor pure beginners is dit het gemakkelijkste dat het kan krijgen.

Maar omdat we het over computers hebben, is dit voor een computer moeilijk te begrijpen. Dus om dit voor computers verstandig te maken en een programma uit te voeren dat is gemaakt met een taal op hoog niveau, moet het worden gecompileerd in machinetaal.

Afbeeldingsbron: github.com

En dit is waar Low-level taal tussen komt. In tegenstelling tot voorheen, waar er slechts een paar talen op hoog niveau waren, zijn er tegenwoordig geen aantal talen op hoog niveau zoals C, Cobol, FORTRAN, Pascal, Java, Perl, Python, PHP, Ruby, C ++, BASIC en Visual Basic .

Wat zijn Low-level talen?

Laag-niveau talen die talen die zeer dicht bij machinetaal liggen. Ze worden ook wel assemblagetalen genoemd. De talen die het dichtst bij de taal van Assemblage tot machine staan, zijn C en C ++. Sommige mensen noemen C en C ++ zelfs als talen op laag niveau. Machinecode staat bekend als laag niveau omdat in tegenstelling tot programmeertalen op hoog niveau niets anders nodig heeft, zoals compilers of zoiets. Het draait rechtstreeks op de processor en ze zijn uiterst architectuurspecifiek.

Laag-niveau talen zijn meer geschikt voor het ontwikkelen van nieuwe besturingssystemen of het schrijven van firmwarecodes voor microcontrollers. Ze kunnen alles doen met een beetje hard werken (eigenlijk veel hard werken om specifiek te zijn), maar het is duidelijk dat je er geen belangrijke toepassing in wilt schrijven. Hetzelfde is het geval met C (wordt eigenlijk Cee genoemd). C is eigenlijk een heel uitgebreide taal om mee te beginnen. Hiermee kunt u zich direct registreren en direct toegang geven tot verschillende geheugenlocaties.

Maar tegelijkertijd heeft het ook veel constructies, waarmee de hardware abstractie kan laden. Eerlijk gezegd vertegenwoordigen C en C ++ dubbel verschillende talen, omdat de meeste talen hun bibliotheken hebben overgenomen. In de praktijk zijn zowel C als C ++ van laag niveau, zoals ik je eerder heb verteld, omdat het schrijven van applicaties op bedrijfsniveau vrij moeilijk is. Maar theoretisch zijn beide eigenlijk talen op hoog niveau.

Aanbevolen cursussen

  • Cursus professionele IT-beveiliging
  • Ruby on Rails-trainingsbundel
  • Professionele CSS-cursus
  • Online HTML5- en CSS3-cursus

Kenmerken van talen op hoog en laag niveau:

Nu is het zo dat ik af en toe in verschillende interviews en op andere plaatsen ben gevraagd die ik leuk vind om op het beste of het hoogste niveau te programmeren. Het lijkt mij dat er niet zoiets bestaat als de beste. Het antwoord is dat ze allebei hun eigen specialiteit hebben en dat je het ene niet voor het andere kunt vervangen. Dus ik vind ze eigenlijk allebei leuk.

Laag programmeren is een uitdaging en vereist veel ervaring en kennis. Kenmerken van talen op hoog niveau vinden plaats waar alle creatieve dingen plaatsvinden, dat wil zeggen toepassingen die mensen in hun dagelijks leven gebruiken en die op een veel eenvoudiger manier kunnen worden opgespoord dan op laag niveau. En hier kunt u aan de slag met extreem nieuwe technologieën, omdat veel van deze talen continu worden geüpgraded vanwege community-ondersteuning.

Als u dit aan alle taalcodeerders op hoog niveau in twijfel trekt over wat zij willen, is het antwoord dat u ontvangt verre van wat u nodig heeft. Ze zullen je niet vertellen wat beter is.

Ze zullen waarschijnlijk zeggen dat ze meer gepassioneerd zijn over een specifieke taal op hoog niveau en niet allemaal. Ik weet niet dat dit gebeurt. De bekendste voorbeelden zijn Python en Ruby, en als je ze enkele programma's laat zien die in assemblage zijn geschreven, dan zal waarschijnlijk Hasta-la-Vista worden gebruikt.

Afbeeldingsbron: mathworks.com

Wat eigenlijk fantastisch is aan veel talen op hoog niveau, is dat ze in de hybride categorie vallen. Python is bijvoorbeeld extreem objectgeoriënteerd, maar tegelijkertijd ondersteunt het ook sluitingen en eersteklas functies. Hoewel het niet zo krachtig is als Scala, maar het heeft wel de mogelijkheid om min of meer dingen weer te geven als die van een puur taal.

Talen op hoog niveau zijn meestal traag in vergelijking met talen op laag niveau. Dit komt omdat talen op hoog niveau veel abstracties en codelagen hebben voordat ze de hardware zelf bereiken, terwijl omdat machinecode dichterbij is, het eigenlijk snel kan worden verwerkt en de uitvoer kan worden geretourneerd. Eén stuk code in Python wordt hoogstwaarschijnlijk vertaald in duizenden regels machinewoorden.

Natuurlijk zijn talen op hoog niveau op gelijke voet waar raw-prestaties niet nodig zijn, omdat je niet zo stabiele en grote applicaties op laag niveau kunt ontwikkelen als op hoog niveau. Dit is een ding om te onthouden.

C Programmering - De verwarring op laag niveau / hoog niveau

Hoewel C veel kenmerken heeft die vergelijkbaar zijn met die van Pascal Language, wordt het soms nog steeds beschouwd als een taal op laag niveau, omdat het de werking van bits, pointers en directe toegang tot geheugen ondersteunt. C is eigenlijk een taal op hoog niveau met de inclusieve functies van laag niveau. Dit is de belangrijkste reden waarom programmeurs voor alles afhankelijk zijn van C vanwege zijn onverslaanbare kwaliteiten.

Het lijkt misschien raar dat C, hoewel behandeld als een taal op laag niveau, extreem draagbaar is. Fanatiek gezien is C eigenlijk uitgebreid om hardware op zijn uiterste limieten te gebruiken.

Montagetaal is daarentegen nauwelijks draagbaar. Proberen om portabiliteit te bereiken is echter een groot probleem in het geval van een laag niveau, vooral in het geval van Java, dat op een JVM of een virtuele machine draait. C of assemblage die op een VM draait, heeft nooit pure toegang tot de hardware.

Om precies te zijn, een taal wordt een laag niveau als deze specifiek is gestructureerd om rechtstreeks op de hardware te worden uitgevoerd. Talen op laag niveau hebben zeer minder syntaxis, in tegenstelling tot talen op hoog niveau die veel codes hebben.

Lage talen die volledige toegang tot de hardware mogelijk maken, zouden eigenlijk een slechte keuze zijn om projecten te schrijven.

Wanneer laag niveau gebruiken?

Een machinecode ziet er ongeveer zo uit, die extreem snel loopt omdat deze heel dicht bij de hardware staat.

8B542408 83FA0077 06B80000 0000C383

FA027706 B8010000 00C353BB 01000000

B9010000 008D0419 83FA0376 078BD98B

C84AEBF1 5BC3

Hierboven is een functie geschreven voor een 32-bits architectuur, dwz x86-machinecode om het Fibonacci-nummer te berekenen.

De code van de schrijfmachine is onbetwistbaar behoorlijk irritant omdat hij af en toe numerieke codes moet controleren voor elke andere instructie die wordt uitgevoerd. Wie heeft daar nou de tijd voor? En dat is de reden dat Low-level Programming werd geboren.

Maar als u vraagt ​​naar low-level programmeren voor high-level programmeurs, is het antwoord dat u zou krijgen het volgende:

Afbeeldingsbron: pixabay.com

Conclusie

Laag-niveau talen hebben een bijkomend voordeel dat ze de controle over de CPU verliezen, maar hun codes zijn extreem moeilijk te begrijpen en te debuggen door andere programmeurs. Elke andere architectuurfamilie heeft zijn eigen set assemblagetaal, wat betekent dat de code die voor de een is geschreven, niet op de andere kan worden uitgevoerd. Wat in het kort betekent dat de code niet draagbaar is.

Voordelen van High Level Language is dat High Level-talen anderzijds extreem draagbaar zijn en meestal worden gebruikt om software te schrijven die op meerdere platforms en architecturen kan worden uitgevoerd. Geen van beiden kan elkaar vervangen omdat ze twee kanten van dezelfde medaille zijn.

Aanbevolen artikelen

Hier zijn enkele artikelen die u zullen helpen meer informatie te krijgen over talen op hoog niveau versus talen op laag niveau, dus ga gewoon door de link.

  1. Belangrijkste tips Haskell-programmeertaal
  2. HTML5 en Flash - Zoek de verschillen
  3. Tekstwinning versus natuurlijke taalverwerking - Top 5-vergelijkingen
  4. 12 beste stappen om R Programming Language te installeren (Beknopte handleiding)
  5. 8 Beste programmeertaal voor mobiele apps die u moet kennen
  6. Belangrijke dingen om te weten over Haskell-programmeertaal