Co je to nízkoúrovňový programovací jazyk?
Existuje určitá neshoda ohledně přesné definice nízkoúrovňového programovacího jazyka, ale všechny definice sdílejí některé společné věci týkající se vlastností takového počítačového jazyka. Mezi tyto vlastnosti patří: podobnost s binárním kódem, požadovaná znalost úlohy centrální procesorové jednotky (CPU) a schopnost programátora ovládat hardware prostřednictvím jazyka. Někteří lidé považují jakýkoli počítačový jazyk za jazyk na nízké úrovni, pokud není podobný jazyku, kterým lidé mluví. Jiní považují jakýkoli jazyk, který vyžaduje, aby programátor pochopil složité a velmi složité fungování CPU, za nízkou úroveň. Je třeba si uvědomit, že skutečně nízkoúrovňový programovací jazyk obecně vyhovuje všem těmto popisům.
Binární kód, také nazývaný strojový kód, je jediným jazykem, kterému CPU nebo „mozek“ počítače rozumí a „mluví“. Strojový kód, pokud je prohlížen osobou, vypadá jako mnoho posloupností číslic 1 a 0; představují stav zapnutí nebo vypnutí, podobně jako světlo, které je buď zapnuto, nebo vypnuto. Kód programovacího jazyka na vysoké úrovni by vypadal velmi odlišně od strojového kódu v tom, že obsahuje symboly a skutečná slova, která lidé používají v jazyce, obvykle angličtině. To však neznamená, že někdo, kdo není počítačovým programátorem, by rozuměl kódu v jazyce vyšší úrovně víc, než by ten nižší.
Jednou z největších výhod nízkoúrovňového programovacího jazyka je schopnost a svoboda vykonávat přesnou kontrolu nad věcmi, jako je využití paměti a doba zpracování. To znamená, že programy psané v nízkoúrovňovém jazyce by měly velmi efektivně využívat systémové prostředky, což může být velmi žádoucí při kódování systémů s velmi omezenými prostředky. Taková výhoda nepřichází bez ceny. Vývojáři a inženýři, kteří kódují nízkoúrovňový programovací jazyk, musí mít zvukové znalosti funkcí CPU, aby mohli psát instrukce, které ovlivňují paměť a dobu zpracování.
Kódování v nízkoúrovňovém programovacím jazyce je časově náročné a únavné. To pochopitelně zvyšuje náklady spojené s vývojem programu v takovém jazyce, protože ekvivalent pouze dvou řádků kódu v jazyce vysoké úrovně může vyžadovat až 20 řádků v nízkoúrovňovém programovacím jazyce. Díky tak pomalému vývoji jsou jazyky nízké úrovně primárně vhodné pro velmi malé programy. Sotva se používají k vývoji větších programů.