Programmeerbare talen op hoog niveau versus op laag niveau Welke moet u leren?
Wanneer u probeert te achterhalen welke programmeertaal u moet leren 6 Eenvoudigste programmeertalen om te leren voor beginners 6 Eenvoudigste programmeertalen om te leren voor beginners Leren programmeren gaat net zo goed over het vinden van de juiste taal als over het stichtingsproces. Hier zijn de top zes van gemakkelijkste programmeertalen voor beginners. Meer lezen, u zult waarschijnlijk de voorwaarden tegenkomen “hoog niveau” en “low-level.” Mensen praten de hele tijd over programmeertalen op een hoog en een laag niveau.
Maar wat betekent dat precies? En wat betekent het om te leren code te schrijven? Laten we beginnen met de definities van elk en van daaruit gaan.
“Hoger” en “Lager niveau” Programmeertalen
In dit artikel zal ik het hebben over “hoog-” en “laag-” niveau talen. Maar er is geen specifieke kwalificatiecriteria voor zowel. Daarom zal ik er ook over praten “hoger” en “lager” levels.
Houd er wel rekening mee dat dit grotendeels afhangt van uw perspectief. Als je een C-programmeur bent, lijkt Java misschien behoorlijk hoogstaand. Als je gewend bent aan Ruby, lijkt Java misschien een taal op een laag niveau.
Machinecode en low-level talen
Of een taal op een hoog niveau of op een laag niveau (of ergens in het midden) wordt beschouwd, heeft alles te maken met abstractie. Machinecode heeft geen abstractie - deze bevat de individuele instructies die aan een computer zijn doorgegeven. En omdat machines alleen in cijfers handelen, worden ze in binair getal weergegeven (hoewel ze soms in decimale of hexadecimale notatie worden geschreven).
Hier is een voorbeeld van machinecode (via Wikipedia):
8B542408 83FA0077 06B80000 0000C383 FA027706 B8010000 00C353BB 01000000 B9010000 008D0419 83FA0376 078BD989 C14AEBF1 5BC3
In machinecode moeten bewerkingen exact worden opgegeven. Als bijvoorbeeld een stukje informatie uit het geheugen moet worden opgehaald, moet de machine-code de computer vertellen waar in het geheugen het zich bevindt.
Rechtstreeks schrijven in machinecode is mogelijk, maar zeer moeilijk.
Laag-niveau programmeertalen toevoegen een beetje abstractie met de machinecode. Deze abstractie verbergt specifieke machine-code-instructies achter verklaringen die menselijker leesbaar zijn. Assembleertalen zijn de talen op het laagste niveau naast machinecode.
In machine-code zou je zoiets kunnen schrijven “10110000 01100001” - maar een assembleertaal kan dat vereenvoudigen “MOV AL, 61h“. Er is nog steeds een bijna een-op-een-correspondentie tussen wat is geschreven in de assembleertaal en de instructies die aan de machine zijn doorgegeven.
Verhuizen naar meer populaire programmeertalen, zul je komen tot iets als C Kenmerken van C-programmering die het uniek (en beter) maken Kenmerken van C-programmering die het uniek maken (en beter) De C-programmeertaal is de moeder van alle moderne programmering talen. Bijna elke taal die vandaag wordt gebruikt, bevat verschillende functies die voor het eerst in de taal C zijn verschenen. Lees verder . Hoewel niet zo laag als een assembleertaal, is er nog steeds een sterke overeenkomst tussen wat er in C is geschreven en de machinecode. De meeste bewerkingen die in C zijn geschreven, kunnen worden voltooid met een klein aantal instructies voor de machinecode.
Op hoog niveau programmeertalen
Net als lagere talen bestrijken hogere niveaus een breed spectrum van abstractie. Sommige, zoals Java (wat je zou kunnen betogen is eigenlijk een gemiddeld niveau programmeertaal), geeft u nog steeds veel controle over hoe de computer geheugen en gegevens beheert.
Anderen, zoals Ruby en Python, zijn erg abstract. Ze geven je minder toegang tot die functies op een lager niveau, maar de syntaxis is veel gemakkelijker te lezen en te schrijven. Je kunt dingen groeperen in klassen, die eigenschappen overerven zodat je ze maar één keer hoeft te declareren.
Variabelen, objecten, routines en loops zijn alle belangrijke onderdelen van talen op hoog niveau. Deze en andere concepten helpen u de machine te vertellen om veel dingen te doen met korte, beknopte uitspraken.
Wanneer een assembleertaal bijna een-op-een correspondentie heeft tussen zijn opdrachten en machinecodecommando's, kan een taal op een hoger niveau mogelijk tientallen opdrachten met een enkele regel code.
Het is belangrijk om dat op te merken “programmeertalen op hoog niveau” kan alles bevatten dat meer geabstraheerd is dan een assembleertaal. Het hangt ervan af wie het onderwerp bespreekt. Dus als je praat of leest over talen, zorg er dan voor dat je op dezelfde pagina bent.
Moet je een taal op laag niveau of op een hoog niveau leren?
Dit is zeker een veel voorkomende vraag bij nieuwe en aspirant programmeurs. Zijn programmeertalen op hoog of laag niveau beter? Zoals het geval is met veel programmeervragen, is de vraag met betrekking tot programmeertaal op hoog niveau versus laag niveau niet zo eenvoudig.
Beide soorten talen hebben belangrijke voordelen. Taal op laag niveau, omdat ze door de computer weinig worden geïnterpreteerd, werken over het algemeen heel snel Waarom zijn sommige programmeertalen sneller dan andere? Waarom zijn sommige programmeertalen sneller dan andere? Er zijn tal van programmeertalen die er zijn. Ze hebben allemaal individuele eigenaardigheden, gebruikt voor verschillende dingen. Maar wat maakt de ene programmeertaal sneller dan de andere? Lees verder . En ze geven programmeurs veel controle over gegevensopslag, geheugen en terughalen.
Talen op hoog niveau zijn echter intuïtief gemakkelijker te begrijpen en laten programmeurs veel efficiënter code schrijven. Deze talen worden ook beschouwd als te zijn “veiliger,” omdat er meer voorzorgsmaatregelen zijn die voorkomen dat codeurs slecht geschreven opdrachten geven die schade kunnen veroorzaken. Maar ze geven programmeurs niet zoveel controle over processen op laag niveau.
Met dit in gedachten, hier zijn een selectie van populaire talen op een schaal van laag naar hoog:
- C
- C++
- Java
- C #
- Perl
- Lispelen
- JavaScript
- Python
- Robijn
- SQL
Dit is natuurlijk deels subjectief. En het bevat alleen een kleine doorsnede van de talen die beschikbaar zijn.
Maar het zou u een idee moeten geven van waar de talen waarin u geïnteresseerd bent op de schaal vallen.
Wat wil je doen?
Wanneer u beslist wat u wilt leren, zou uw eerste vraag moeten zijn wat je wilt programmeren.
Als u op zoek bent naar besturingssystemen, kernels of iets dat op de hoogst mogelijke snelheid moet worden uitgevoerd, is een taal op een lager niveau een goede keuze. Veel van Windows, OS X en Linux zijn geschreven in C- en C-afgeleide talen zoals C ++ en Objective-C.
Veel moderne apps zijn geschreven in hogere of zelfs domeinspecifieke talen. Python en Ruby zijn vooral populair voor web-apps. Hoe de juiste webprogrammeertaal kiezen om te gebruiken Hoe u de juiste webprogrammeertaal kiest om te gebruiken Waarom zouden bepaalde talen in een bepaald scenario boven anderen moeten worden gekozen? Dit artikel geeft een lijst met vragen die de programmeur moet stellen om te kiezen welke taal hij moet gebruiken. Meer lezen, hoewel HTML5 steeds krachtiger wordt. Talen zoals Swift, C #, JavaScript en SQL hebben allemaal hun eigen sterke en zwakke punten.
Overweeg om beide te leren
Ik heb onlangs een discussie gelezen over deze vraag op een programmeerforum en vond een interessante suggestie: leer allebei tegelijk. Je krijgt een dieper inzicht in de soorten abstracties die de taal op het hogere niveau efficiënter maken.
Natuurlijk is het niet gemakkelijk om twee talen tegelijkertijd te leren 7 Nuttige trucs voor het beheersen van een nieuwe programmeertaal 7 Handige trucs voor het beheersen van een nieuwe programmeertaal Het is goed om overweldigd te zijn wanneer je leert programmeren. Je zult dingen waarschijnlijk zo snel vergeten als je ze leert. Deze tips kunnen u helpen om al die nieuwe informatie beter te bewaren. Meer lezen, dus u wilt ze misschien een beetje spreiden. En het kiezen van twee vergelijkbare talen kan ook nuttig zijn.
Nogmaals, we gaan terug naar het punt dat ik eerder heb genoemd: kies een taal gebaseerd op wat je wilt bouwen. Doe wat onderzoek om erachter te komen welke talen mensen in uw vakgebied gebruiken. Gebruik die informatie vervolgens om een taal met een hoog en een laag niveau te kiezen en begin met het bestuderen ervan.
Je zult snel de parallellen zien en je zult een veel dieper begrip krijgen van hoe programmeren werkt.
Focus op doelen, niet op middelen
Er zijn veel criteria die u kunt gebruiken om een programmeertaal te kiezen. Hoog- versus laag niveau is er een van. Maar in bijna elk geval is het criterium dat u zou moeten gebruiken wat je wilt programmeren.
Uw project kan baat hebben bij een taal met een laag niveau. Of het kan veel efficiënter zijn op een hoger niveau. De sleutel is om het juiste gereedschap voor de klus te kiezen. Richt je op je doel en je kiest elke keer de juiste taal.
Heb je ervaring met zowel hoge als lage niveaus? Verkiest u de ene boven de andere? Deel uw mening in de reacties hieronder!