High - og low- level programmeringssprog er designet til kommunikation mellem et menneske og en computer på forskellige niveauer af abstraktion. En meget lav - niveau sprog ville indebære et menneske give instrukser direkte til en computers hardware , ved hjælp af sprog og opbygning, hardware, i højt niveau sprog , mennesker arbejder med komplekse , abstrakte logiske værktøjer til at skrive instruktioner, et særligt program skal omsætte for computeren . Det er generelt lettere for mennesker at bruge disse værktøjer . Programmeringssprog
En programmeringssprog er ethvert sprog, som mennesker kan give computere instruktioner. En liste af instruktioner klar til at blive givet til en computer og eksekveres kaldes et program . Væsentlige, de instruktioner butik , flytte og ændre værdier i computerens hukommelse , kan disse værdier blive fortolket af forskellige enheder --- skærme , højttalere, tastatur, touch pads , mus --- som giver måder at kommunikere med en bruger < . br >
Machine Code
et lavt niveau sprog er en, der er tæt på de grundlæggende elementer i computerens hardware. De laveste niveau sprog er maskinkode , som forstås direkte af hardware og kræver ikke nogen tolkning eller oversættelse . Maskinkode består udelukkende af strenge af binære tal : de berømte nuller og ettaller . Selv om det kan gøre noget som helst andet sprog kan gøre --- ja, skal hver anden sprog oversættes til maskinkode af en tolk --- det ikke er designet omkring de behov, programmør, kræver en meget tæt forståelse af en computers processor og anordninger , og det er næsten umuligt for et menneske at læse.
Assembly Language
næste "højere" programmeringssprog er assembler , hvilket er maskinkode med instruktionskoder erstattet af mere intuitive kommandoer. Kommandoen til at sætte en værdi på 97 i en hukommelse register kaldet AL , for eksempel --- som ville maskinkode være " 10.110.000 01.100.001 " --- ville i assembler være " MOV AL , 97 " , stadig er en kryptisk kommando, men man meget nemmere at lære . Selv om det stadig ineffektivt at skrive og kræver en programmør til at forhandle direkte med hendes computer hardware , er det et højere niveau sprog end maskinkode , fordi det er mere abstrakt : Det er tættere på forfatteren
< br . > Højere niveau sprog
Moderne programmører skriver selv i assembler meget sjældent. I stedet bruger de en af mange forskellige højere niveau sprog som C , Java eller Python, hvilke programmer der kaldes compilere eller tolke kan oversætte til maskinkode . Disse sprog fjerner programmør fra det fysiske rige af hardwaren og ind logisk abstraktion : Snarere end at flytte hexadecimale værdier omkring hukommelse registre , programmøren arbejder med variabler, hvis indhold kan ændres , sløjfer , der kan gentages, indtil en vis betingelse er opfyldt ; logiske udsagn gerne IF, og dernæst , ELLER og andet, og andre værktøjer. Disse sprog er designet omkring programmør , opmærksomme på de måder , hun kan gives mest magt med den mindste besvær.
Sammenligninger
højt niveau sprog er ikke så kaldes, fordi de er " bedre" end lav-niveau sprog. Nogle gange, kan evnen til at tale mere direkte til en computers processor i assembler eller endda maskinkode løse problemer vanskeliggøres af de lag af abstraktion i et højere niveau sprog . Et meget højt niveau sprog , kan kun handle med et bestemt operativsystem , som Microsoft Visual Basic , eller med et bestemt program, ligesom de " makroer " i et tekstbehandlingsprogram. Disse programmer er meget nyttige for nogen, der ønsker at manipulere Windows eller Word uden at kende snørklede af, hvordan hver værker --- men et sådant sprog ville være til nogen nytte for nogen forsøger at skrive et program af hans egne, der skulle noget lavere niveau . En programmør vælger således et sprog baseret på det job, han skal gøre .